2009/2/26 Rafa Comino <rafacom...@gmail.com>:
> Hola a todos, tengo un problema con mi base de datos postgresql que no se
> como resolver
> querría consultar en la base de datos pero que no fuera sensible a
> mayúsculas y acentos
> La única forma que se como hacerlo es un ínidce fullext con un tsvector.
> Hay alguna manera en que los LIKE no distinguieran entre palabras con
> acentos y sin acentos, vaya que el resultado de  "campo LIKE '%iglú%'" fuera
> el mismo que el de "campo LIKE '%iglu%'"
> Saludos y gracias
>
> --
> Rafael Comino Mateos
> www.toreria.es
> www.trevenque.es
>

SELECT 
upper(trim(translate('iglü','áéíóúÁÉÍÓÚäëïöüÄËÏÖÜàèìòù','aeiouAEIOUaeiouAEIOUaeiou')))
as tu_campo

Este select lo use para migrar datos puede servirte, pero no se como
ha de impactar en el rendimiento.

Tu select quedaría algo así:

SELECT
upper(trim(translate('tu_campo','áéíóúÁÉÍÓÚäëïöüÄËÏÖÜàèìòù','aeiouAEIOUaeiouAEIOUaeiou')))
as tu_campo
from tu_tabla
where 
upper(trim(translate('tu_campo','áéíóúÁÉÍÓÚäëïöüÄËÏÖÜàèìòù','aeiouAEIOUaeiouAEIOUaeiou')))
like '%iglú%'

Un abrazo
-- 
§~^Calabaza^~§ from Villa Elisa, Paraguay
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net

Responder a