sql >> Database >  >> RDS >> Oracle

Oracle Regexp om \n,\r en \t te vervangen door spatie

Regex is niet nodig. Dit kan eenvoudig worden gedaan met de ASCII-codes en saaie oude TRANSLATE()

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

Dit vervangt nieuwe regel, tab en regelterugloop door spatie.

TRANSLATE() is veel efficiënter dan zijn regex-equivalent. Als uw hart echter op die benadering is ingesteld, moet u weten dat we in regex naar ASCII-codes kunnen verwijzen. Dus deze verklaring is de regex-versie van het bovenstaande.

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

De tweak is om naar de ASCII-code te verwijzen in hexadecimaal in plaats van basis 10.



  1. Langzame migratie naar de cloud

  2. Vertraagde duurzaamheid in SQL Server 2014

  3. De kosten van uw databasehosting verlagen:DigitalOcean vs. AWS vs. Azure

  4. Zoeken met door komma's gescheiden waarde mysql