Re: BUG #15812: Select statement of a very big number, with a division operator seems to round up.

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: kaleb(dot)akalework(at)asg(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #15812: Select statement of a very big number, with a division operator seems to round up.
Date: 2019-05-17 16:02:11
Message-ID: 20190517160211.GA27103@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 2019-May-17, PG Bug reporting form wrote:

> 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;

Well, your column definition has room for zero decimal places, so I'm
not sure this result is all that surprising. Maybe you should cast the
column to one that has a few decimal places, say
select bit_num::numeric(30,10) / 10000000000 from test_table;
and see whether that helps your case.

--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Kaleb Akalework 2019-05-17 16:10:52 RE: BUG #15812: Select statement of a very big number, with a division operator seems to round up.
Previous Message PG Bug reporting form 2019-05-17 15:46:17 BUG #15812: Select statement of a very big number, with a division operator seems to round up.