Leonardo Cezar e Marcelo Silva

Acho que não me expressei corretamente então, a questão não é tão óbvia, 
pois o mesmo Select retorna ordem diferente, entre o banco no windows e no
linux, eu entendo que a forma lógica e correta é retornar ordenando como 
string (1,10,2...), mas porque no windows retorna como se fossem numéricos 
(sem eu usar qualquer indicativo de conversão)?

sds
Fábio Gibon
> ----- Original Message ----- 
> From: "Leonardo Cezar" <[email protected]>
> To: "Fábio Gibon - Comex System" <[email protected]>; "Comunidade 
> PostgreSQL Brasileira" <[email protected]>
> Sent: Monday, February 07, 2011 11:18 AM
> Subject: Re: [pgbr-geral] Dúvida sobre order by
>
>
> 2011/2/7 Fábio Gibon - Comex System <[email protected]>:
>> Hoje me deparei com uma situação que nunca tinha visto antes. Estava
>> executando um comando SELECT numa tabela com uma cláusula ORDER BY em uma
>> coluna do tipo CHARACTER (128). Existem 10 registros na tabela, onde os
>> valores da coluna do ORDER BY são:
>> “ 1”
>> “ 2”
>> “ 3”
>> “ 4”
>> “ 5”
>> “ 6”
>> “ 7”
>> “ 8”
>> “ 9”
>> “ 10”
>> Ao executar o comando aqui na empresa no postgres 9.0 me retorna os
>> registros nesta mesma ordem.
>> Mas ao executar o comando no cliente retorna numa ordem diferente:
>> “ 1”
>> “ 10”
>> “ 2”
>
> <corte>
>
>> Alguma idéia do porque isso pode estar acontecendo?
>
> Está acontecendo o q vc pediu: ordene as *strings* de acordo com a
> ordem e o seu COLLATE, especificamente a glibc ordena desta forma,
> veja:
>
> skynet:~ postgres$ cat arquivo_numerado  | sort
> 1
> 10
> 2
> 3
>
> Se quer ordenar números, então deixe claro q está tratando com números:
>
> SELECT numeros FROM tabela ORDER BY numeros::integer;
>
> Abraço!
>
> -Leo
> -- 
> Leonardo Cezar
> http://postgreslogia.wordpress.com
> 

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a