14 septiembre 2007

ORACLE: Convertir vocales acentuadas

Problemática

Cuando realizamos consultas sql a la base de datos, (para, por ejemplo buscar por nombre de persona) podemos usar la función UPPER a fin de que la comparación no distinga entre mayúsculas y minúsculas, pero no ocurre lo mismo en el caso de las vocales acentuadas, a fin de solventar este problema podríamos implementar la siguiente función:

CREATE OR REPLACE function acentos(wcadena in varchar2) RETURN varchar2 is cadena varchar2(200);

BEGIN

cadena := replace(wcadena,'Á','A');
cadena := replace(cadena,'É','E');
cadena := replace(cadena,'Í','I');
cadena := replace(cadena,'Ó','O');
cadena := replace(cadena,'Ú','U');

return(cadena);

END;