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
