Oracle number插入小数后值发生变化

drop table test purge;
create table test(a number(18,15));
insert into test values(22.692977);

commit;

在pl/sql developer中查发现居然变化了,百思不得其解。

select * from test;
A
------------------

22.692976999999999

发现在sqlplus中显示的是正确的。

SQL> select * from test;
         A
------------------
 22.692977

然后写了一个JDBC的程序读取,也是正确的。

可以确定是pl/sql developer的问题,这么查也是可以的。

select to_char(a) from test;
A
------------------
22.692977

你可能感兴趣的:(数据库)