Em 19 de julho de 2012 14:17, Vinicius Santos <
vinicius.santos.li...@gmail.com> escreveu:

> Boa tarde pessoal,
>
> Hoje me deparei com uma situação muito estranha. Temos uma tabela com uma
> coluna assim: "valor numeric( 14, 4 ) NOT NULL DEFAULT 0".
>
> Quando faço por exemplo: "SELECT * FROM tabela WHERE valor = 261.61" tudo
> funciona normal, porém quando faço:
>
> "SELECT * FROM tabela WHERE valor = 355.55" ele não retorna nada,
> obviamente já conferi como estão os registros com este valor, e estão como
> 355.5500 na tabela, mas o PostgreSQL não retorna nada.
>
> O estranho é que eu não consigo replicar o problema dando INSERT manual
> pelo pgAdmin, estes valores foram passados pelo nosso ERP, eu peguei os
> comandos através de um "Monitor de SQL" e o ERP não está fazendo nada de
> errado, apenas passando um INSERT normal. Esta situação é recorrente e até
> fácil de replicar pela aplicação, mas realmente não estou entendendo o que
> está havendo.
>
>
Funciona normalmente aqui comigo.

bdteste=# CREATE TABLE numeros(valor NUMERIC(14,4) NOT NULL DEFAULT 0);
CREATE TABLE
bdteste=# SELECT * FROM numeros;
 valor
-------
(0 rows)
bdteste=# INSERT INTO numeros (valor) VALUES (261.61), (355.5500);
INSERT 0 2
bdteste=# SELECT * FROM numeros ;
  valor
----------
 261.6100
 355.5500
(2 rows)

bdteste=# SELECT * FROM numeros WHERE valor = 261.61;
  valor
----------
 261.6100
(1 row)

bdteste=# SELECT * FROM numeros WHERE valor = 355.55;
  valor
----------
 355.5500
(1 row)


Faça um teste e procure por:

SELECT * FROM tabela WHERE valor BETWEEN 355.5 AND 355.6;

Att,

-- 
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
>> Blog sobre TI: http://fabriziomello.blogspot.com
>> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
>> Twitter: http://twitter.com/fabriziomello
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a