sql >> Databáze >  >> RDS >> Oracle

Oracle Regexp k nahrazení \n,\ra \t mezerou

Není potřeba regulární výraz. To lze snadno provést pomocí ASCII kódů a nudného starého TRANSLATE()

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

Tím se nový řádek, tabulátor a návrat vozíku nahradí mezerou.

TRANSLATE() je mnohem efektivnější než jeho ekvivalent regulárního výrazu. Nicméně, pokud je vaše srdce nastaveno na tento přístup, měli byste vědět, že můžeme odkazovat na kódy ASCII v regulárním výrazu. Toto prohlášení je tedy regulární verze výše uvedeného.

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

Vychytávka spočívá v odkazování na kód ASCII v hexadecimální soustavě, nikoli se základem 10.



  1. Jak odstranit nepracovní dobu v Oracle

  2. SQL Server:Všechna velká a malá písmena nastavte na správná malá a velká písmena

  3. sql join two table

  4. Export dat z databáze MySQL