On Aug 31, 2004, at 8:55 PM, Rajesh Kumar Mallah wrote:
The docs says that numeric type supports numbers upto any precision
<snip />
However
tradein_clients=# SELECT cast(2^100 as numeric);
<snip />
1. Does the specs not require pgsql to print a warning or info , will it not be considered silient truncation of data.
AFAICS, the issue here is not the cast per se, but rather the power operation (2^100), which expects a double precision argument. This operation happens before the cast.
2. Is there any way to do such calculation using pgsql, i understand bc is a better tool for it.
What you need is a power operation for numeric, which I think you'd have to write yourself, possibly leveraging one of the procedural languages (perhaps pl/perl) to access such an operation (as you yourself mentioned). I'm sure you could find an algorithm to port to PL/pgsql as well.
Hope this helps.
Michael Glaesemann grzm myrealbox com
---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives?
http://archives.postgresql.org