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
