sql >> Database teknologi >  >> RDS >> Oracle

Oracle Regexp for at erstatte \n,\r og \t med mellemrum

Intet behov for regex. Dette kan nemt gøres med ASCII-koderne og kedelige gamle TRANSLATE()

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

Dette erstatter newline, tab og carriage return med plads.

TRANSLATE() er meget mere effektiv end dens regex-ækvivalent. Men hvis dit hjerte er indstillet på den tilgang, bør du vide, at vi kan referere til ASCII-koder i regex. Så denne erklæring er regex-versionen af ​​ovenstående.

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

Tweaken er at henvise til ASCII-koden i hexadecimal snarere end base 10.



  1. Kan et tabelfelt indeholde en bindestreg?

  2. Hvordan kan jeg finde alle tabellerne i MySQL med specifikke kolonnenavne i dem?

  3. En guide til PGpool - tip og observationer:del tre

  4. Aktivering af TLS i Oracle Apps R12.2