> 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. >
Fazendo o UPDATE tudo funciona normalmente. Fiz novamente um teste. INSERT INTO nova_tabela( VALOR ) VALUES (355.5500000000000113686837721616029739379882812500000). Depois: SELECT * FROM nova_tabela WHERE valor = 355.55 Agora existem 3 registros. Dois foram "consertados" pelo UPDATE. Este último UPDATE que fiz manualmente o PostgreSQL truncou o valor corretamente. Ou seja, porque o valor é inserido "ao pé da letra" quando é aplicação que manda e porque ele trunca quando faço o INSERT pelo pgAdmin? O PostgreSQL não faz distinção da aplicação cliente, ele trata todos da mesma maneira. Pra mim ainda está confuso.
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral