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

Oracle Regexp per sostituire \n,\r e \t con spazio

Non c'è bisogno di regex. Questo può essere fatto facilmente con i codici ASCII e il noioso vecchio TRANSLATE()

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

Questo sostituisce il ritorno a capo, la tabulazione e il ritorno a capo con lo spazio.

TRANSLATE() è molto più efficiente del suo equivalente regex. Tuttavia, se il tuo cuore è impostato su quell'approccio, dovresti sapere che possiamo fare riferimento ai codici ASCII in regex. Quindi questa affermazione è la versione regolare di quanto sopra.

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

La modifica consiste nel fare riferimento al codice ASCII in esadecimale anziché in base 10.