Search Postgresql Archives

Re: Cast double precision to integer & check for overflow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2013-01-26, Gavan Schneider <pg-gts@xxxxxxxxxxx> wrote:
> On Saturday, January 26, 2013 at 08:13, Ian Pilcher wrote:
>
>>I need to cast a double precision into an integer, and I want to check
>>that the value will actually fit (modulo rounding).
>>
>>Coming from a C/Java background, this seems like something that should
>>be utterly trivial.  In my searching, however, I can't seem to find any
>>SQL equivalent of INT_MAX, Integer.MAX_VALUE, etc.
>>
> So far I haven't seen such defined constants but am happy to 
> share the RTFM moment. :-)
>
> I am sure you have already found this:
><http://www.postgresql.org/docs/9.2/static/datatype-numeric.html#DATATYPE-NUMERIC-TABLE>
>
>>Do I have to hard-code this value?
>>
> Or cast double to both numeric(13000,0) and integer and compare 
> them. A stored function could encapsulate this along with 
> raising the exception when required. If design is still fluid 
> and performance allows the numeric type could do the job without 
> fear of overflow.

there's no need to cast and compare. if the number doesn't fit the cast will 
fail with an exception.

-- 
⚂⚃ 100% natural



-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux