From: | Iván Caballero Cano <ivanhalen77postgresql(at)gmail(dot)com> |
---|---|
To: | Ana Smail <anasmail(at)unnoba(dot)edu(dot)ar> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: RV: Como ejecutar consulta SQL sin distincion de palabras con acento |
Date: | 2009-11-11 17:52:40 |
Message-ID: | 26252470911110952r1d3524a5o91c64c9d799ac261@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Muchas Gracias, efectivamente eso termine haciendo y funciona de maravilla.
De hecho está funcion viene en una página wiki de postgreSQL famosa,
pero viene incompleta
les falto poner el "á".
Pero no pude cambiar el código de ejemplo por que no tengo
privilegios, si alguna alma caritativa lo puede cambiar
estaría genial.
Gracias.
El día 11 de noviembre de 2009 09:42, Ana Smail
<anasmail(at)unnoba(dot)edu(dot)ar> escribió:
> Si te sirve nosotros usamos lo siguiente:
>
> Para poder hacer consultas con condiciones en el WHERE sin tener en cuenta
> si las palabras estan acentuadas, agregamos la siguiente función:
> create or replace function dossier.sinacentos (text) returns text AS $$
> select translate($1,'áéíóúÁÉÍÓÚäëïöüÄËÏÖÜ','aeiouAEIOUaeiouAEIOU');
> $$ language sql;
>
> uso:
>
> select * from tabla1 where UPPER(sinacentos(tabla1.campo1)) LIKE
> '%SUSPENCION%'
>
> ANA
> -----Mensaje original-----
> De: pgsql-es-ayuda-owner(at)postgresql(dot)org
> [mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Iván Caballero
> Cano
> Enviado el: Miércoles, 11 de Noviembre de 2009 02:17 p.m.
> Para: PostgreSQL
> Asunto: [pgsql-es-ayuda] Como ejecutar consulta SQL sin distincion de
> palabras con acento
>
> Buenos Días:
>
> Estoy realizando unas funciones para un sistema web de bases de datos
> espaciales, y para ello estoy contruyendo una consulta SQL que busque
> valores en ciertas tablas.
>
> Como esas palabras pueden venir escritas con mayúsculas o minúsculas,
> entonces en dicho caso no es lo mismo buscar "ALGO" que "algo" o "Algo", etc
> Y para tal motivo lo soluciono de la siguiente manera:
>
> select * from zi_aerodromo where upper(nombre) like upper('%Mateos%')
>
> En este caso la consulta me funciona muy bién no importando si el campo
> nombre tiene valores con mayusculas o minusculas.
>
> Pero donde todavía no logro solucionar este asunto es cuando el campo nombre
> contiene valores con palabras acentuadas, necesito encontrar la manera de
> poder hacer la consulta sin que esas palabras acentuadas afecten la
> busqueda.
>
> Alguna alma caritativa y auxiliadora me podría dar alguna orientación al
> respecto?, Gracias.
> --
> TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo
> agradecerán Se certificó que el correo entrante no contiene virus.
> Comprobada por AVG - www.avg.es
> Versión: 9.0.704 / Base de datos de virus: 270.14.60/2496 - Fecha de la
> versión: 11/11/09 05:40:00
>
> --
> TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo
>
From | Date | Subject | |
---|---|---|---|
Next Message | luis muro | 2009-11-11 17:56:50 | Re: psql: FATAL: sorry, too many clients already |
Previous Message | Ing. Marcos Ortiz | 2009-11-11 17:42:39 | Re: psql: FATAL: sorry, too many clients already |