Adrian Klaver <adrian.klaver@gmail.com> wrote:
> create table float_test (id int, f_fld double precision);
> insert into float_test values (1, 6.31);
> insert into float_test values (2, 6.32);
> select * from float_test ;
>
> id | f_fld
> ----+-------
> 1 | 6.31
> 2 | 6.32
> (2 rows)
If, instead of those inserts I use these:
insert into float_test values (1, '6.31');
insert into float_test values (1, '6.32');
insert into float_test values (1, '6.32'::double precision);
insert into float_test values (1, '6.32'::real);
I get:
id | f_fld
----+------------------
1 | 6.31
1 | 6.32
1 | 6.32
1 | 6.32000017166138
(4 rows)
Apparently the value is being treated as a real value somewhere.
--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company