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