From: | "Paolo Saudin" <paolo(at)ecometer(dot)it> |
---|---|
To: | "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | <pgsql-general(at)postgresql(dot)org> |
Subject: | R: Rounding problems |
Date: | 2009-05-03 15:33:56 |
Message-ID: | 004401c9cc04$945a9670$bd0fc350$@it |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
>>"Paolo Saudin" <paolo(at)ecometer(dot)it> writes:
>> I have a problem with a query wich simple aggregate values. In the sample
>> below I have two values, 1.3 and 1.4. Rounding their average with one
>> decimals, should give 1.4.
>
>You seem way overoptimistic about float4 values being exact. They are
>not. The actual computation being done here is more like
>
>regression=# select (1.3::real + 1.4::real) / 2 ;
> ?column?
>------------------
> 1.34999990463257
> (1 row)
>
>If you want an exact sum with no roundoff error you should be storing
>all your values as numeric (and taking the consequent speed and space
>hit :-().
>
> regards, tom lane
>
I converted all the fields in numeric type instead of real and now both
queries return the same result !
Now I need to test about performances ...
Thank you very much !!
Paolo Saudin
From | Date | Subject | |
---|---|---|---|
Next Message | Wojtek | 2009-05-03 15:38:53 | keeping track of function execution |
Previous Message | Paolo Saudin | 2009-05-03 15:24:46 | R: Rounding problems |