Re: Postgresql problem with update double precision - Mailing list pgsql-general

From Condor
Subject Re: Postgresql problem with update double precision
Date
Msg-id 810366541da60569f5d8fd70beffcece@stz-bg.com
Whole thread Raw
In response to Re: Postgresql problem with update double precision  (Jerry Sievers <gsievers19@comcast.net>)
List pgsql-general
On Fri, 05 Aug 2011 07:20:01 -0400, Jerry Sievers wrote:
> Condor <condor@stz-bg.com> writes:
>
>> Hello ppl,
>> for few years I have problem when update double precision field. I
>> have table and few double precision columns, here is example:
>>
>> sumall double precision,
>> sumin double precision,
>>
>> My php script do:
>>
>> $get = 2.40
>>
>> and sql code is:
>>
>> UPDATE table1 SET sumall = sumall + $get WHERE id = 1 AND rd =
>> CURRENT_DATE;
>>
>>
>> When I browse the table some times i see incorrect values like:
>>
>> 955.599999999998
>>
>> it's should be 955.60 after these updates ... some days is fine,
>> some
>> days the value is incorrect.
>>
>> I have this problem from version 7 of postgresql, Im now use 9.0.3
>>
>> Anyone know what can be the problem and why some times records is
>> fine, some times isnt ?
>
> That floating point data types are inexact is a well known problem
> with them and not Postgres specific.
>
> Consider switching those fields to type NUMERIC.
>
> HTH
>>
>
> --
> Jerry Sievers
> Postgres DBA/Development Consulting
> e: postgres.consulting@comcast.net
> p: 305.321.1144

Thank you, today I see all 3 rows is normal, but when I do select
sum(sumall) I got 73.3000000001 as result.
Any way how I can convert field in numeric without to lose data ?

--
Regards,
Condor

pgsql-general by date:

Previous
From: Jerry Sievers
Date:
Subject: Re: Select count with offset returns nothing.
Next
From: JJ
Date:
Subject: Temp table visibility