oracle中去掉文本中的换行符、回车符、制表符、空格小结 一、特殊符号 ASCII 定义 制表符 CHR(9) 换行符 CHR(10) 回车符 CHR(13) 二、嵌套使用 REPLACE,注意每次只能提交一个符号,如先回车再换行 SELECT REPLACE(column01, CHR(10), '') FROM t_name_01; 要注意 CHR(13) || CHR(10) 此类结合使用的情况比较多,回车换行在notepad中是比较好看点的,所以要考虑此种情况 SELECT TRANSLATE(STRING, CHR(13)||CHR(10), ',') FROM t_name_01; 注:TRANSLATE(STRING, from_str, to_str):将 STRING 中所有的 from_str 转换为 to_str; 例:SELECT TRANSLATE('abc00abd00abe00', 'ab', 'x') byname FROM dual; 执行结果:
三、对于字符大对象(CLOB)的符号处理 对于 CLOB 字段中的符号处理,先 to_char 然后一样的处理 SELECT to_char(column01), REPLACE(to_char(column01), CHR(10), '[]') FROM t_name_01; 四、关于 换行符、回车符、制表符、空格的操作 1、去处换行 UPDATE t_name_01 t SET t.column01 = REPLACE(t.column01, CHR(10), ''); 2、去掉回车 UPDATE t_name_01 t SET t.column01 = REPLACE(t.column01, CHR(13), ''); 3、去掉两端的空格,使用 TRIM(column01) 函数 UPDATE t_name_01 t SET t.column01 = TRIM(t.column01); 4、增加换行符 SELECT 'update ' || table_name || ' set virtual = ''0A'';' || CHR(13) || 'abc;' FROM user_tables; 5、删除换行符 SELECT t.ID, REPLACE(t.column01, to_char(CHR(13) || to_char(CHR(10))), '_r_n') FROM t_name_01 t ORDER BY t.column01;