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:列名
特殊符號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 | 以一個值來替換空值 |
