日期:2014-05-16 浏览次数:20602 次
一、特殊符号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