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)



---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly

Reply via email to