日期:2014-05-16 浏览次数:20511 次
一、特殊符号ascii定义
?制表符 chr(9)
?换行符 chr(10)
?回车符 chr(13)
二、嵌套使用repalce,注意每次只能提交一个符号,如先回车再换行
????????? select REPLACE(gg,
chr(10), '') from dual
??? 要注意chr(13) | | chr(10)
此类结合使用的情况比较多,回车换行在notepad中是比较好看点的,所以要考虑此种情况
????????? select
translate(string,chr(13)||chr(10),',') from dual;
1、例子一
create
table TEST_1
(
? VA? VARCHAR2(10),
? VB? NUMBER(2),
? VC?
VARCHAR2(10),
? VD? NUMBER(11,2),
? VE? NUMBER(11,4),
? VCL
CLOB
);
SQL> select vb,vc,replace(vc,chr(10),'') as TT,
translate(vc,chr(10),',') from test_1;
?
?VB VC???????? TT????????
TRANSLATE(VC,CHR(10),',')
--- ---------- ----------
-------------------------
? 0 Aaaaaaaaa? Aaaaaaaaa? Aaaaaaaaa
? 1
Aaaaaaaaa? Aaaaaaaaa? Aaaaaaaaa
? 2 大Ba?????? 大Babc带?? 大Ba,b,c带
???
b????????????????????
??? c带??????????????????
?
? 3
C????????? C????????? C
? 1 D????????? D????????? D
? 5 A?????????
A????????? A
? 5 A????????? A????????? A
? 0 A?????????
A????????? A
? 0 A????????? A????????? A
?
?2、例子二
要注意chr(13)
| | chr(10) 此类结合使用的情况比较多,回车换行在notepad中是比较好看点的,所以要考虑此种情况
select
vb,vc,replace(vc,chr(10),'') as TT, translate(vc,chr(13)||chr(10),',')
from test_1;
SQL> select vb,vc,replace(vc,chr(10),'') as TT,
translate(vc,chr(13)||chr(10),',') from test_1;
?
?VB VC????????
TT???????? TRANSLATE(VC,CHR(13)||CHR(10),
--- ---------- ----------
------------------------------
? 0 Aaaaaaaaa? Aaaaaaaaa? Aaaaaaaaa
?
1 Aaaaaaaaa? Aaaaaaaaa? Aaaaaaaaa
? 2 大Ba?????? 大Babc带?? 大Babc带
???
b????????????????????
??? c带??????????????????
?
? 3
C????????? C????????? C
? 1 D????????? D????????? D
? 5 A?????????
A????????? A
? 5 A????????? A????????? A
? 0 A?????????
A????????? A
? 0 A????????? A????????? A
?
11 rows selected
三、对于字符大对象的符号处理
??? 对于clob字段中的符号处理,先to_char然后一样的处理
SQL> select to_char(vcl),replace(to_char(vcl),chr(10),'[]') from
test_1;
?
TO_CHAR(VCL)????????????????????????????????????????????????????????????????????
REPLACE(TO_CHAR(VCL),CHR(10),'
--------------------------------------------
--------------------------------------------
嵌
套使用repalce,注意每次只能提交一个符号,如先回车再换行???????????????????????
嵌套使用repalce,注意每次只能提交一个符号,如先回车再换行[]select REPLACE(gg, chr(10), '') from
dual[]sel
select REPLACE(gg, chr(10), '') from
dual???????????????????????????????????????
select
translate(string,chr(13)||chr(10),',') from dual;????
func:
?
2.2.1????? 单记录字符函数
??????? 函???? 数????????????????????? 说??????????????? 明
?
ASCII???????????????????? 返回对应字符的十进制值
? CHR??????????????????????
给出十进制返回字符?
?CONCAT??????????????????? 拼接两个字符串,与? ||?????? 相同
?
INITCAT?????????????????? 将字符串的第一个字母变为大写
? INSTR????????????????????
找出某个字符串的位置
? INSTRB??????????????????? 找出某个字符串的位置和字节数
?
LENGTH??????????????????? 以字符给出字符串的长度
? LENGTHB??????????????????
以字节给出字符串的长度
? LOWER???????????????????? 将字符串转换成小写
?
LPAD????????????????????? 使用指定的字符在字符的左边填充
?
LTRIM???????????????????? 在左边裁剪掉指定的字符
? RPAD?????????????????????
使用指定的字符在字符的右边填充
? RTRIM???????????????????? 在右边裁剪掉指定的字符
?
REPLACE?????????????????? 执行字符串搜索和替换
? SUBSTR???????????????????
取字符串的子串
? SUBSTRB?????????????????? 取字符串的子串(以字节)
?
SOUNDEX?????????????????? 返回一个同音字符串
? TRANSLATE????????????????
执行字符串搜索和替换
? TRIM????????????????????? 裁剪掉前面或后面的字符串
?
UPPER???????????????????? 将字符串变为大写
? NVL??????????????????????
以一个值来替换空值
ASCII(<c1>)
<c1>是字符串。返回与指定的字符对应的十进制数。
SQL>
select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from
dual;
???? A????? a? ZERO?? SPACE
---------- ---------- ----------
----------
???? 65???? 97???? 48???? 32
SQL> select ascii