Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle Regexp do zastąpienia \n,\r i \t spacją

Nie ma potrzeby stosowania wyrażeń regularnych. Można to łatwo zrobić za pomocą kodów ASCII i nudnego starego TRANSLATE()

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

Zastępuje to znak nowej linii, znak tabulacji i powrót karetki spacją.

TRANSLATE() jest znacznie bardziej wydajny niż jego odpowiednik w wyrażeniach regularnych. Jeśli jednak twoje serce jest nastawione na takie podejście, powinieneś wiedzieć, że możemy odwoływać się do kodów ASCII w wyrażeniach regularnych. Więc to stwierdzenie jest wersją regex powyższego.

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

Ulepszenie polega na odwoływaniu się do kodu ASCII w systemie szesnastkowym, a nie o podstawie 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. Podziel ciąg na spację i znak jako ogranicznik w Oracle za pomocą regexp_substr

  2. praca z json w Oracle

  3. Wyrażenia regularne Oracle. Niebezpieczny zasięg

  4. Funkcja LOG() w Oracle

  5. 3 sposoby formatowania liczby na 2 miejsca dziesiętne w Oracle