Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] comportamiento extraño

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.

In response to

Responses

Browse pgsql-es-ayuda by date

  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