sql >> Databasteknik >  >> RDS >> Oracle

Oracle Regexp för att ersätta \n,\r och \t med mellanslag

Inget behov av regex. Detta kan enkelt göras med ASCII-koderna och tråkiga gamla TRANSLATE()

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

Detta ersätter newline, tab och carriage return med utrymme.

TRANSLATE() är mycket effektivare än dess regex-motsvarighet. Men om ditt hjärta är inställt på det tillvägagångssättet, bör du veta att vi kan referera till ASCII-koder i regex. Så detta uttalande är regexversionen av ovanstående.

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

Tweaken är att referera till ASCII-koden i hexadecimal snarare än bas 10.



  1. Frågor att ställa innan du startar en databas

  2. Hur man skapar en lagrad procedur i SQL Server

  3. Hur kompilerar man alla ogiltiga paket i Schema?

  4. Är det dålig design att använda arrayer i en databas?