Ravi Krishna wrote:
> I am converting a SQL Server stored procedure to Informix.
> In SQL Server there is a function PI() which returns 3.1415926535897931
> and this can be used in a SQL Server FLOAT variable.
> When I try to create a datatype in Informix to store the same value,
> it seems the best I could do is to create FLOAT(16) and it can only
> take 3.141592653590. Is there a data type in Informix which can take
> the precise value of PI. Am I missing something?
Well, first of all, the value of PI is infinitely big, so unless you
have an inifinite amount of disk space, you can't store it precisely :-)
If you want a better approximation to PI, I recommend using
DECIMAL(n), where n could go as large as 32.
Note that a FLOAT value in Informix is stored in a C double; a DECIMAL
is stored in the on-disk format of an ESQL/C 'struct decimal'.
--
Jonathan Leffler #include <disclaimer.h>
Email:
jleffler@earthlink.net,
jleffler@us.ibm.com
Guardian of DBD::Informix v2003.04 --
http://dbi.perl.org/