From: | PG Bug reporting form <noreply(at)postgresql(dot)org> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Cc: | kaleb(dot)akalework(at)asg(dot)com |
Subject: | BUG #15812: Select statement of a very big number, with a division operator seems to round up. |
Date: | 2019-05-17 15:46:17 |
Message-ID: | 15812-adda7f0f3359803c@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 15812
Logged by: Kaleb Akalework
Email address: kaleb(dot)akalework(at)asg(dot)com
PostgreSQL version: 11.3
Operating system: Windows/Linux
Description:
I have a need to divide a big number numeric(20) by 10000000000 to feed it
into a floor function. The division operation rounds up the number which
causes problems. I need the division to just divide the number without
rounding up or down. For my purposes 3691635539999999999/10000000000 should
return 369163553.9999999999 not 369163554. This happens if the data is
retrieved from a column. Below are queries to reproduce the problem
create table test_table
(
REQUEST_UUID varchar(50) not null,
BIG_NUM numeric(20,0) not null
);
INSERT INTO test_table (REQUEST_UUID, BIG_NUM) values ('TEST',
3691635539999999999);
INSERT INTO test_table (REQUEST_UUID, BIG_NUM) values('TEST',
3691635530099999999);
INSERT INTO test_table (REQUEST_UUID, BIG_NUM) values('TEST',
3691635530999999999);
SELECT BIG_NUM, FLOOR(BIG_NUM/10000000000), BIG_NUM/10000000000 from
test_table;
The following is the result of the above select. you can see that column 2
for first row was rounded up.
"3691635539999999999" "369163554" "369163554.00000000"
"3691635530099999999" "369163553" "369163553.01000000"
"3691635530999999999" "369163553" "369163553.10000000"
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2019-05-17 16:02:11 | Re: BUG #15812: Select statement of a very big number, with a division operator seems to round up. |
Previous Message | Tom Lane | 2019-05-17 13:53:11 | Re: inconsistent results querying table partitioned by date |