Eliminar caracteres especiales y acentos de cadenas Oracle

Hola Amig@s,

Si necesitamos limpiar una cadena de un registro de Oracle que contengan caracteres especiales como separadores de código, unicode y palabras con acento, la mejor forma que he encontrado es utilizando este método simplemente con las funciones de Oracle.

select utl_raw.cast_to_varchar2(nlssort(NOMBREDELCAMPO, 'nls_sort=binary_ai'))
from NOMBREDELATABLA;

Con esta consulta al tener una cadena como la siguiente:

El otro día visité el blogdelpibe :)

Quedará de esta manera:

El otro dia visite el blogdelpibe :)

Si queremos respetar las mayúsculas y minúsculas hay que usar esta otra solución.

select regexp_replace(regexp_replace('1234', '[(][A-Z]+[)]', ''), '[^a-zA-Z-0-9]', '') FROM DUAL

Espero que les resulte útil.
Salu2.


Share on Google Plus
    Blogger Comment

0 comentarios: