Re: INTEGER range ("-2147483648" is not accepted.)
От | Magnus Hagander |
---|---|
Тема | Re: INTEGER range ("-2147483648" is not accepted.) |
Дата | |
Msg-id | AANLkTimwgKepmPoUE_JaBA-UsgXaXipNGVMUECUROYzA@mail.gmail.com обсуждение исходный текст |
Ответ на | INTEGER range ("-2147483648" is not accepted.) (Satoshi Nagayasu <satoshi.nagayasu@gmail.com>) |
Ответы |
Re: INTEGER range ("-2147483648" is not accepted.)
|
Список | pgsql-docs |
On Tue, Jun 22, 2010 at 10:27 AM, Satoshi Nagayasu <satoshi.nagayasu@gmail.com> wrote: > Hi all, > > I've found a bit strange thing on the INTEGER range in the official manual. > > http://www.postgresql.org/docs/8.4/interactive/datatype-numeric.html > > According to the official manual, the INTEGER range is "-2147483648 to +2147483647". > However, my example in below shows that "-2147483648" is not accepted. > > Is this correct? Any suggestions? > > template1=# SELECT -2147483648::integer; > ERROR: integer out of range This gets parsed as "cast 2147483648 to integer, then take it negative". Which overflows, because it can only go up to 2147483647. What you want is: postgres=# select (-2147483648)::integer; int4 ------------- -2147483648 (1 row) -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/
В списке pgsql-docs по дате отправления: