On 19-07-2012 16:11, Vinicius Santos wrote: > SELECT sua_coluna/1.00000000000000 FROM sua_tabela WHERE suas_condições; > > Ajustando para sair o resultado da linha que você está suspeitando? > > > Eu aumentei o número de zeros da divisão, até que sobrassem zeros à > esquerda. > > Assim: SELECT valor/1.0000000000000000000000000000000000000000000000000 > FROM nova_tabela > O resultado final foi: > -------------------------------------------------------------------------------------------- > 355.5500000000000113686837721616029739379882812500000 > 355.5500000000000113686837721616029739379882812500000 > > > Agora assim: > SELECT valor FROM nova_tabela WHERE valor = > 355.5500000000000113686837721616029739379882812500000 > O resultado final foi: > -------------------------------------------------------------------------------------------- > 355.5500 > 355.5500 > > Ou seja internamente tem este "lixo". Mas, porque?
O PostgreSQL tem uma resolução alta interna para o tipo numeric. Provavelmente o valor foi resultado de um cálculo que gerou os decimais que você está vendo. Recomendo que, na sua aplicação ou nas consultas que está fazendo, arredonde os valores no momento da operação de INSERT ou UPDATE. Para consertar os valores atuais, o pessoal da lista já indicou funções de arredondamento pra você ajeitar num UPDATE. []s Flavio Henrique A. Gurgel Consultor e Instrutor 4Linux Tel: +55-11-2125-4747 www.4linux.com.br _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
