From: | James Cloos <cloos(at)jhcloos(dot)com> |
---|---|
To: | <pgsql-hackers(at)postgresql(dot)org> |
Cc: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Gavin Flower <GavinFlower(at)archidevsys(dot)co(dot)nz>, Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Subject: | Re: Rounding to even for numeric data type |
Date: | 2015-03-29 19:51:11 |
Message-ID: | m3sicna8gg.fsf@carbon.jhcloos.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
>>>>> "MP" == Michael Paquier <michael(dot)paquier(at)gmail(dot)com> writes:
MP> So, attached is a patch that does 1) and 2) to make clear to the
MP> user how numeric and double precision behave regarding rounding.
MP> I am adding it to CF 2015-06 to keep track of it...
Given that the examples show -2.5 rounds to -3, the IEEE term is
roundTiesToAway, and the typical conversational english is round ties
away from zero.
RoundUp means mean towards +Infinity.
754 specifies that for decimal, either roundTiesToEven or roundTiesToAway
are acceptable defaults, and which of the two applies is language dependent.
Does ANSI SQL say anything about how numeric should round?
In general, for decimals (or anything other than binary), there are
twelve possible roundings:
ToEven ToOdd AwayFromZero ToZero Up Down
TiesToEven TiesToOdd TiesAwayFromZero TiesToZero TiesUp TiesDown
(Up is the same as ceil(3), Down as floor(3).)
-JimC
--
James Cloos <cloos(at)jhcloos(dot)com> OpenPGP: 0x997A9F17ED7DAEA6
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2015-03-29 19:52:47 | Re: Relation extension scalability |
Previous Message | Tom Lane | 2015-03-29 19:21:44 | Re: Relation extension scalability |