round behavior differs between 8.1.5 and 8.3.7

From: Robert Morton <morton2002(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: round behavior differs between 8.1.5 and 8.3.7
Date: 2009-04-20 21:21:31
Message-ID: 625201b40904201421s7da6e41ai62e93cfbfa84d044@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Howdy,
None of the discussions about rounding so far have addressed what appears to
be a significant change that occurred at some point between PostgreSQL
v8.1.5 and v8.3.7. Can someone explain to me the difference between the two
resultsets below? Additionally I would like to understand what option will
consistently provide a banker's-round in v8.3.7, if possible.

Here is the query, followed by the resultset for each version:
SELECT
round(3.5::numeric) as "rn3.5",
round(3.5::float8) as "rf3.5",
dround(3.5::numeric) as "dn3.5",
dround(3.5::float8) as "df3.5",
CAST(3.5::numeric as INTEGER) as "cn3.5",
CAST(3.5::float8 as INTEGER) as "cf3.5",
round(4.5::numeric) as "rn4.5",
round(4.5::float8) as "rf4.5",
dround(4.5::numeric) as "dn4.5",
dround(4.5::float8) as "df4.5",
CAST(4.5::numeric as INTEGER) as "cn4.5",
CAST(4.5::float8 as INTEGER) as "cf4.5"

v8.1.5:
rn3.5,rf3.5,dn3.5,df3.5,cn3.5,cf3.5,rn4.5,rf4.5,dn4.5,df4.5,cn4.5,cf4.5
4,4,4,4,4,4,5,4,4,4,5,4
v8.3.7:
rn3.5,rf3.5,dn3.5,df3.5,cn3.5,cf3.5,rn4.5,rf4.5,dn4.5,df4.5,cn4.5,cf4.5
4,3,3,3,4,3,5,4,4,4,5,4

Thanks,
Robert

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Daniel Verite 2009-04-20 21:23:34 Re: converting from bytea to integers
Previous Message Mikko 2009-04-20 21:00:07 trouble with to_char('L')