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;

 


免責聲明!

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



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