Remover acentos en una consulta SQL (Oracle)

El dia de hoy necesitaba ejecutar una consulta que me regresara los valores de una columna sin acentos.
Buscando por ahi encontre una pagina donde se muestra como hacerlo en PostgreSQL, pero que tambien funciona en Oracle.

Basta con utilizar la funcion TRANSLATE de la siguiente forma

SELECT TRANSLATE(COLUMNA,
   'áéíóúàèìòùãõâêîôôäëïöüçÁÉÍÓÚÀÈÌÒÙÃÕÂÊÎÔÛÄËÏÖÜÇ',
   'aeiouaeiouaoaeiooaeioucAEIOUAEIOUAOAEIOOAEIOUC')
FROM TABLA

donde COLUMNA es el nombre de la columna que quieres remover los acentos y TABLA pues la tabla =)

Nota: No se si los caracteres acentuados que reemplaza sean todos los que existen pero a mi me funciono de maravilla.

Anuncios

6 comentarios en “Remover acentos en una consulta SQL (Oracle)

  1. Perfecto, yo lo he recudido a esto:
    TRANSLATE(UPPER(” & Campo & “),’ÁÉÍÓÚ’,’AEIOU’)
    con cuidado de hacer un UCASE tambien del texto que uso de busqueda en el like.

    Queda así:
    ….
    Where = “UPPER(” & GetCAC(Campo2) & “) Like ‘%” & UCase(txt) & “%’ ”
    ….

    y la funcion GETCAC:

    Public Function GetCAC(Campo As String) As String
    GetCAC = “TRANSLATE(UPPER(” & Campo & “),’ÁÉÍÓÚ’,’AEIOU’)”
    End Function

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s