Re: Upper y Lower

From: Alejandro Gasca <agasca(at)yahoo(dot)com>
To: Hensa <hensa22(at)yahoo(dot)es>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Upper y Lower
Date: 2006-12-02 09:21:46
Message-ID: 20061202092146.26685.qmail@web34301.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


--- Hensa <hensa22(at)yahoo(dot)es> escribió:

> quisiera saber si hay alguna solucion para el problema que tengo, yo
> hace un tiempo atras me di cuente que varios Where que usaba con
> Lower y upper,
>
> osea select * from tabla1 where lower('CAMIÓN')=lower('Camión');
> me devolvia como si no encontrara algun registro,
> entonces encontre que el problema era que las funciones lower y upper
> no funcionaban con los caracteres con acentos.
>
> Asi que tuve que hacer unas funciones aparte para poder subsanar eso
> (el efecto de respuesta en las consultas en dar el resultado fue
> poco).
>
> Pero por motivos de performance quisiera saber si alguien pude
> ayudarme, si hay que configurar algo en postgres, para que lower y
> upper no tenga ese problema.
>
> yo uso UTF-8 en mis base de datos.
>
> muchas gracias de antemano.
>
>
>
>
>
> ---------------------------------
>
> LLama Gratis a cualquier PC del Mundo.
> Llamadas a fijos y móviles desde 1 céntimo por minuto.
> http://es.voice.yahoo.com

Hola,

tuve un problema similar al tuyo, al poner poner upper('árbol') me
salia 'áRBOL'.

Tuve que hacer un initdb, ya que el problema estaba con el locale, no
recuerdo bien la instruccion, checate la doc de initdb, pero era algo
asi:

initdb -E=UTF8 --locale=es_MX -D=ruta

esto crea otro cluster con la "ordenacion" correcta... lo de los
locales es un dolor de cabeza para los que somos legos en ese asunto,
pero basicamente se refiere a la ordenacion del encoding, por ejemplo,
el sistema tiene que saber que caracter es "el mayor" o la "mayúscula"
de cierto caracter digamos "especial", por ejemplo, saber que "Á" es la
mayúscula de "á".

Obviamente tienes que hacer el pg_dump (o pg_dumpall) de tu anterior
base a la nueva.

Despues de esto, checa que efectivamente upper('ñandú') sea "ÑANDÚ".

Otra cosa: sería tambien conveniente que revises del manual del
postgres la seccion 11.8. "Operator Classes".

Espero te sirva.

Alejandro.

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.espanol.yahoo.com/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Rubén da Silva 2006-12-02 09:39:09 Re: Funcion inet2int - error
Previous Message Omar Zeballos (Kantutani) 2006-12-02 01:15:13 Ayuda con Replicacion