From: | Oswaldo Hernández <listas(at)soft-com(dot)es> |
---|---|
To: | Lista Postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] comportamiento extraño |
Date: | 2009-05-04 14:30:28 |
Message-ID: | 49FEFC04.2010805@soft-com.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
elcotorro(at)gmail(dot)com escribió:
> confirmado es el utf-8
> existe la posibilidad de cambiarlo sin perder la informacion?
> como le pondria a linux el encode de windows?
>
La diferencia esta provocada por el valor de LC_COLLATE que es lo que utiliza la funcion strcoll()
tal como te dijo Alvaro.
He ejecutado la siguiente sentecia en dos maquinas distintas:
select a
from (
select 'Abc ' as a union
select ' abc' as a union
select 'xyz ' as a union
select ' Xyz' as a
) foo
order by 1
El resultado sobre Windows con LC_COLLATE=Spanish_Spain.1252
" abc"
" Xyz"
"Abc "
"xyz "
La misma sentencia en Linux con LC_COLLATE=es_ES.UTF-8
" abc"
"Abc "
"xyz "
" Xyz"
Como ves la segunda ignora los espacios pero es semanticamente mas correcta, por lo que yo me lo
pensaria dos veces antes de modificar el collate en linux.
>>>
>>> seba=# SELECT * FROM mitablita ORDER BY micampito;
>>> micampito
>>> ----------------------
>>> 900730
>>> 999
>>> (2 filas)
Prueba con:
SELECT * FROM mitablita ORDER BY micampito::numeric;
Saludos,
--
*****************************************
Oswaldo Hernández
oswaldo (@) soft-com (.) es
*****************************************
PD:
Antes de imprimir este mensaje, asegúrese de que es necesario.
El medio ambiente está en nuestra mano.
From | Date | Subject | |
---|---|---|---|
Next Message | Angel | 2009-05-04 14:56:12 | Re: [pgsql-es-ayuda] OT - Aplicación Web |
Previous Message | Silvio Quadri | 2009-05-04 14:16:18 | Re: [pgsql-es-ayuda] [pgsql-es-ayuda] OT - Aplicación Web |