去掉文本中的换行符、回车符、制表符 SQL

SQL Server
replace ('field_name','from_str','to_str')

说明: 

cdb_name    该字符或字符串所在表的名字 
field_name   该字符或字符串所在字段的字段名 
from_str      需要替换的字符串 
to_str         替换成的字符串

--替换回车
UPDATE table_name
SET field_name=REPLACE(field_name,CHR(13),'')
WHERE INSTR(field_name,CHR(13))>0
--替换换行
UPDATE table_name
SET field_name=REPLACE(field_name,CHR(10),'')
WHERE INSTR(field_name,CHR(10))>0

table_name:表名
field_name:列名
oracle 替换换行符

特殊符号ascii定义
制表符 chr(9)
换行符 chr(10)
回车符 chr(13)

update tt_pro set spec = replace(replace(spec,chr(13),''), chr(10),'') where com_id = 'WPJ' ;

select * from tt_pro where item_no like '%'||chr(10)||'%' ;
select * from tt_pro where item_no like '%'||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中是比较好看点的,所以要考虑此种情况
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;

嵌套使用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                        以一个值来替换空值
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

资料来源:
http://www.oschina.net/code/snippet_3227_6123
http://www.discuz.net/thread-283399-1-1.html
http://g.kehou.com/t1008663832.html
http://fangrn.iteye.com/blog/701600
posted @ 2012-03-09 16:50  kumat  阅读(13737)  评论(6编辑  收藏  举报