Oracle表数据操作对数据中空格、回车、换行的处理

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;
原文地址:https://www.cnblogs.com/bishuihengchen/p/8032717.html