去掉文本中的换行符、回车符、制表符 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

转载于:https://www.cnblogs.com/IT-Bear/archive/2012/03/09/2387881.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值