Skip site navigation (1) Skip section navigation (2)

Re: case sensitive

From: "Elvis E(dot) Henriquez A(dot)" <elvish(at)cantv(dot)net>
To: "Ricardo Fuentes Pereira" <rfuentesp(at)gmail(dot)com>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: case sensitive
Date: 2005-02-22 15:01:59
Message-ID: 001101c518ef$7de1af40$1db054c8@henriquez (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
No. Son cosas distintas. Una cosa es mayúsculas y minúsculas que se pueden
"bypassear" con el uso de upper y lower, pero ya "í" e "i" son dos
caracteres totalmente distintos. Tendrías que hacer una función que te haga
tal conversión, y usarla en tu sentencia WHERE, algo com WHERE
sinacentomayuscula(campo) = sinacentomayuscula('criterio'), o incluso con un
like o ilike para hacer tu búsqueda más amplia.

----- Mensaje original ----- 
De: Ricardo Fuentes Pereira
CC: pgsql-es-ayuda(at)postgresql(dot)org
Enviado: Martes, 22 de Febrero de 2005 10:48
Asunto: Re: [pgsql-es-ayuda] case sensitive


Martín Marqués wrote:

>El Mar 22 Feb 2005 10:41, Ricardo Fuentes Pereira escribió:
>
>
>>Martín Marqués wrote:
>>
>>
>>>La especificación de relaciones es "case-insensitive" (no sensible a las
>>>mayusculas).
>>>
>>>En el caso de busquedas, depende de que estes usando. Busca en los
>>>manuales ILIKE (LIKE pero sin importar los CAPS), y las funciones upper()
>>>y lower(). Tambien podes hacer busquedas por expresiones regulares, tanto
>>>sensibles como no sensibles a las mayusculas.
>>>
>>>
>>Siempre utilice ILIKE para solucionar el problema de las busquedas.
>>Aunque hay algunas buenas ideas como guardar todo texto en mayuscula en
>>la BD (me parece que con upper() segun tu comentas) y despues buscar asi
>>tb.
>>
>>
>
>Esta es, por lo general, una mala idea. Estas alterando los datos en la
base
>para solucionar un problema en el algoritmo de busqueda. Mejor usa algo
como
>
>SELECT ...... WHERE upper(campo) = upper('cadena');
>
>
Upss, entonces por suerte no lo utilicé.

>
>
>>Lo que no se es si se las busquedas pueden ser case-insensitive para
>>letras con acentos de alguna manera. ¿Se puede lograr de alguna forma?
>>
>>
>
>siprebi=> select upper('ñ');
> upper
>-------
> Ñ
>
>
>
Según esto último, dada una BD codificada en LATIN1 o LATIN9 si busco la
cadena 'aquí' (con acento en la i) ¿me devuelve también los registros
con la cadena 'aqui' (sin acento)?

---------------------------(fin del mensaje)---------------------------
TIP 4: No hagas 'kill -9' a postmaster


In response to

pgsql-es-ayuda by date

Next:From: Martín MarquésDate: 2005-02-22 15:04:20
Subject: Re: case sensitive
Previous:From: Lorena GarciaDate: 2005-02-22 15:00:32
Subject: consulta con expresion regular y acentos

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group