Search Postgresql Archives

Re: SELECT with REAL...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Feb 6, 2006, at 10:21 AM, Philippe Ferreira wrote:


Comparing two floating point numbers for equality seldom works
the way you want it to.

Without seeing the exact data you have it's hard to say for sure (as there
may be some other issue with what you're doing) but I wouldn't expect
this to work with data from arbitrary sources.

Try

  SELECT * FROM mytable WHERE myreal >= 10.49 AND myreal <= 10.51;

and see what result that gives.

This way, it works...

Then the problem you're seeing isn't database-related, it's just due to
the standard problem of misuse of floating-point numbers. You'll
need to go back and look at the queries you're using and see what
comparisons you really want your application to be doing.

<http://www.lahey.com/float.htm> (or maybe
<http://docs.sun.com/source/806-3568/ncg_goldberg.html>
depending on your maths background) is well worth a read.

Cheers,
  Steve



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux