elcoto...@gmail.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.

--
TIP 7: no olvides aumentar la configuración del "free space map"

Responder a