Archivo para la Categoría "► PostgreSQL"

Ignorar tildes en consultas con PostgreSQL

image

Pues hace tiempo ya…, se suscitó el problema que en los formularios de búsqueda del sistema no aparecían los resultados cuando escribías el nombre del cliente “Juan Apostol” , y esto era por que en la base de datos estaba registrado como “Juan Apóstol” ( Nótese esa pequeña cosa llamada “Tilde” arriba de la letra o ).

Para darle solución a este problema se modifico la consulta de búsqueda, de la siguiente forma:

Antes:

SELECT CAT_CLIENTES.NOMBRE LIKE ‘%"+variable+"%’ ORDER BY CAT_CLIENTES.NOMBRE ASC

Después:

SELECT TO_ASCII(CAT_CLIENTES.NOMBRE, ‘LATIN1’) LIKE ‘%"+variable+"%’ ORDER BY CAT_CLIENTES.NOMBRE ASC

Con la sencilla función TO_ASCII aplicada sobre el campo NOMBRE, tendrá el efecto de que los resultados traídos por la consulta no tomaran en cuenta si el registro tiene o no tilde.

Por lo que si ahora buscamos “Juan Apostol” nos traerá de resultado “Juan Apóstol” aunque no lo hallamos escrito con su acento correspondiente.

 

¿Necesitas otra opción?

http://romanmussi.blogspot.com/2009/12/busquedas-por-campos-de-texto-en.html

¿Necesitas ayuda con Oracle?

Aquí otra solución con Oracle. (via @ivonsue)

 

PD.-Gracias al amigo Rodre por buscar esta solución.

Anuncios

Nube de etiquetas