Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle Regexp за замяна на \n,\r и \t с интервал

Няма нужда от регулярен израз. Това може да се направи лесно с ASCII кодовете и досадния стар TRANSLATE()

select translate(your_column, chr(10)||chr(11)||chr(13), '    ')
from your_table;

Това заменя нов ред, табулация и връщане на карета с интервал.

TRANSLATE() е много по-ефективен от неговия еквивалент на регулярни изрази. Въпреки това, ако сърцето ви е настроено към този подход, трябва да знаете, че можем да препращаме към ASCII кодове в регулярни изрази. Така че това изявление е версията с регулярни изрази на горното.

select regexp_replace(your_column,  '([\x0A|\x0B|`\x0D])', ' ')
from your_table;

Ощипването е да се препраща към ASCII кода в шестнадесетичен, а не в база 10.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създайте потребител от низови променливи в PL/SQL блок

  2. Свързване с Oracle Database чрез C#?

  3. Как да повишите производителността за групови INSERT към ODBC свързани таблици в Access?

  4. Използване на LogMiner за намиране на текущи промени

  5. Резервиране на Oracle RAC N+1