BUG #15812: Select statement of a very big number, with a division operator seems to round up.
От | PG Bug reporting form |
---|---|
Тема | BUG #15812: Select statement of a very big number, with a division operator seems to round up. |
Дата | |
Msg-id | 15812-adda7f0f3359803c@postgresql.org обсуждение исходный текст |
Ответы |
Re: BUG #15812: Select statement of a very big number, with adivision operator seems to round up.
Re: BUG #15812: Select statement of a very big number, with a division operator seems to round up. |
Список | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 15812 Logged by: Kaleb Akalework Email address: kaleb.akalework@asg.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"
В списке pgsql-bugs по дате отправления: