Re: INT8 / float casting question

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Filip Rembiałkowski <filip(dot)rembialkowski(at)gmail(dot)com>, Community PostgreSQL <pgsql-sql(at)postgresql(dot)org>
Subject: Re: INT8 / float casting question
Date: 2014-10-31 15:45:47
Message-ID: 5453AEAB.5020001@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On 10/31/2014 07:58 AM, Filip Rembiałkowski wrote:
> psql.bin (9.3.4, server 9.3.5)
> Type "help" for help.
>
> dev=# select (2^63-1)::INT8;
> ERROR: bigint out of range
>
>
>
>
>
> Does it HAVE to be so?

No, figured it out:

test=# select ((2^63-1)::numeric);
numeric
---------------------
9223372036854780000

is rounding up.

To get what you want:

test=# select (2^63::numeric-1)::int8;
int8
---------------------
9223372036854775807
(1 row)

>
>
> http://en.wikipedia.org/wiki/9223372036854775807
>
>
>
> Thanks
> Filip
>
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Campbell, Lance 2014-11-03 17:15:58 Text searching HTML
Previous Message Adrian Klaver 2014-10-31 15:29:48 Re: INT8 / float casting question