2010/6/22 Satoshi Nagayasu <[email protected]>: > 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? > > Regards, > > --------------------------------------------------------------------- > template1=# SELECT version(); > version > ------------------------------------------------------------------------------------------------------------ > PostgreSQL 8.4.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 > 20071124 (Red Hat 4.1.2-42), 32-bit > (1 row) > > template1=# SELECT -2147483647::integer; > ?column? > ------------- > -2147483647 > (1 row) > > template1=# SELECT -2147483648::integer; > ERROR: integer out of range > template1=# SELECT +2147483648::integer; > ERROR: integer out of range > template1=# SELECT +2147483647::integer; > ?column? > ------------ > 2147483647 > (1 row) > > template1=# > --------------------------------------------------------------------- >
Hmm... yes, that's not what I'd expect either: postgres=# SELECT -32768::smallint; ERROR: smallint out of range postgres=# SELECT -9223372036854775808::bigint; ERROR: bigint out of range I think those min values are all out by 1. Thom -- Sent via pgsql-docs mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-docs
