sql >> Base de Datos >  >> RDS >> Oracle

Oracle Regexp para reemplazar \n,\r y \t con espacio

No hay necesidad de expresiones regulares. Esto se puede hacer fácilmente con los códigos ASCII y el viejo y aburrido TRANSLATE()

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

Esto reemplaza la nueva línea, tabulación y retorno de carro con espacio.

TRANSLATE() es mucho más eficiente que su equivalente de expresiones regulares. Sin embargo, si su corazón está puesto en ese enfoque, debe saber que podemos hacer referencia a códigos ASCII en expresiones regulares. Entonces, esta declaración es la versión regular de la anterior.

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

La modificación es hacer referencia al código ASCII en hexadecimal en lugar de base 10.