Re: Discriminar acentos en una select

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Antonio Martinez <amartinezal(at)azertia(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Discriminar acentos en una select
Date: 2006-06-07 12:31:31
Message-ID: 20060607123131.GA8408@surnet.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Antonio Martinez escribió:
> Hola lista, necesitamos un poco de apoyo para hacer una select basada el
> operador LIKE que no tenga en cuenta los acentos.
>
> El objetivo consiste en listar las palabras que empiecen por "a" el
> problema es que las palabras que empiezan por "á" no se encuentran

Lo mas sencillo es quitar los acentos de ambos terminos, para lo que te
puede servir la funcion to_ascii():

> La select es de este tipo.
>
> SELECT count(*) FROM terminos WHERE UPPER(term.termspell) LIKE UPPER('a')

select count(*) from terminos where upper(to_ascii(term.termspell)) like
upper(to_ascii('a'));

En este caso el to_ascii al lado derecho es inutil porque 'a' ya esta en
ASCII, pero cuando sea una cadena dada por el usuario los va a
necesitar.

--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Daniel Carrero 2006-06-07 12:43:58 Re: Dominios
Previous Message Antonio Martinez 2006-06-07 12:20:41 Discriminar acentos en una select