bigint datatype accepting floating numbers - Mailing list pgsql-general

From Chris
Subject bigint datatype accepting floating numbers
Date
Msg-id alta6i$2lu4$1@news.hub.org
Whole thread Raw
List pgsql-general
Hi all,

Just wondering if anyone can explain why this is happening. I thought
int2, int4, int8 all accepted integers only (according to the way the
7.2 docs read ..
http://www.postgresql.org/idocs/index.php?datatype.html#DATATYPE-NUMERIC )


test=# SELECT version();
                                version
------------------------------------------------------------------
  PostgreSQL 7.3b1 on i586-pc-linux-gnu, compiled by GCC 2.95.3
(1 row)


test=# create table testint(smallnum int2, num int4, bignum int8);
CREATE TABLE

test=# insert into testint (smallnum) values (123.7);
ERROR:  column "smallnum" is of type 'smallint' but expression is of
type 'double precision'
           You will need to rewrite or cast the expression

test=# insert into testint (num) values (123.7);
ERROR:  column "num" is of type 'integer' but expression is of type
'double precision'
           You will need to rewrite or cast the expression


It seems to round the number too:

test=# insert into testint (bignum) values (123.7);
INSERT 17320 1

test=# SELECT * from testint;
    smallnum | num | bignum
----------+-----+--------
             |     |    124
(1 row)



pgsql-general by date:

Previous
From: mingrone@hotmail.com (Joey M)
Date:
Subject: mod_auth_pgsql
Next
From: "king"
Date:
Subject: sum(if command