numeric when compared to literal - Mailing list pgsql-sql

From Vicente Alabau Gonzalvo
Subject numeric when compared to literal
Date
Msg-id 3E3E6483.3060208@capgemini.es
Whole thread Raw
Responses Re: numeric when compared to literal  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
When a numeric is compared to a literal < 2^31 - 1 it works
well, but compared to a greater literal, it is casted to double 
precision. Why? How can I correct this without explicit cast?

db=> \d tipos          Table "tipos"  Column   |  Type   | Modifiers
-----------+---------+----------- _numeric_ | numeric | _decimal_ | numeric |

db=> select * from tipos where _numeric_ <= 2147483648;
ERROR:  Unable to identify an operator '<=' for types 'numeric' and 
'double precision'        You will have to retype this query using an explicit cast

db=> select * from tipos where _numeric_ <= 2147483647; _numeric_ | _decimal_
-----------+-----------        10 |        20
(1 row)




pgsql-sql by date:

Previous
From: "mail.luckydigital.com"
Date:
Subject: 7.2 functions that return multiple result sets?
Next
From: Vicente Alabau Gonzalvo
Date:
Subject: Automatic casting