Hum... eu arrisco em dizer que é porque é string e não numero :)

Ele está ordenando corretamente como string, agora se quer ordinal então 
faça a conversão de String para Integer

Exemplo:

select codigo, descricao from mv_produtos
order by cast(codigo as integer) -- AQUI


Acho que vai dar certo...


Marcelo Silva
-------------------------------
msn: [email protected]
Cel. (11) 9693-4251



-----Mensagem Original----- 
From: Fábio Gibon - Comex System
Sent: Monday, February 07, 2011 12:58 PM
To: PostgreSQL - BR List
Subject: [pgbr-geral] Dúvida sobre order by

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”
“         3”
“         4”
“         5”
“         6”
“         7”
“         8”
“         9”
Alguma idéia do porque isso pode estar acontecendo?
Os dados das 2 tabelas são absolutamente iguais, assim como o comando SQL.
Os 2 bancos utilizam codificação UTF8. Nosso banco está no windows e o do
cliente no linux.
No windows tanto o show lc_collate como o show lc_ctype retornam
“Portuguese, Brazil”.
No cliente(linux) retornam "pt_BR.UTF-8".

abraços

Fábio Henrique Gibon

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

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

Responder a