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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM