List:General Discussion« Previous MessageNext Message »
From:Rick James Date:January 7 2013 6:42pm
Subject:RE: Query Resulting error
View as plain text  
Don't use DOUBLE (or FLOAT) for monetary values.  Use DECIMAL(...).  Two decimal places (
,2) suffices for most countries, but not all.

DOUBLE values have been rounded when converted from decimal to binary.  Multiply creates
another rounding.  The end result may look the same when converted from binary to decimal
and displayed to only two decimal places, but the underlying values may be "!=".

> -----Original Message-----
> From: Trimurthy [mailto:trimurthy@stripped]
> Sent: Saturday, December 29, 2012 4:26 AM
> To: mysql@stripped
> Subject: Query Resulting error
> 
> hi,
>       i am working with mysql 5.1.36 and i wrote the following query.
> 
>    select total,quantity*price from sales where total != quantity*price
> and salesid=122;
> 
>    OUT PUT:
> 
>    total        quatity*price
>   330.46       330.46
> 
> here quantity is 15.5 and price is 21.32
> 
> both the values and data types are double(total,quantity and price).
> can
> anyone tell me why this is happening.
> 
>              Normal   0               false   false   false      EN-US
> X-NONE   AR-SA
> 
> 
> 
> 
> 
> 
> Thanks & Kind Regards,
> TRIMURTHY
> 
Thread
Query Resulting errorTrimurthy29 Dec
  • Re: Query Resulting errorMike O'Krongli29 Dec
  • RE: Query Resulting errorRick James7 Jan