我在表中定义了一个AAA字段,类型是number(38,20)向AAA中插入0.33333查询时 AAA的值 不是 0.333330000000000000
而是0.333329999999999936非常奇怪,不知道为什么, 请各位大侠帮忙。
(0.66666也有同样的问题。)
而是0.333329999999999936非常奇怪,不知道为什么, 请各位大侠帮忙。
(0.66666也有同样的问题。)
CREATE TABLE "SCOTT"."NUM_TAB"
( "A" NUMBER(38,20)
)TABLESPACE "ORCLU_TEST_TBS" ; insert into num_tab values(0.33333);
SQL> select * from num_tab; A
----------
.33333SQL>
如果是,把BigDecimal设置好精度...
create table TEST
(
AAA NUMBER(38,20)
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);插入语句insert into test values(0.33333);查询语句select * from test查询结果0.333329999999999936我用的plsql developer编辑,和一楼的做法应该是一样的。
但查询结果却不同。
select to_char(AAA,'0.999999999999999999999999999999') from test
但是当我把tool-->preference-->sql window-->number layout
改成left aligned 时,数字显示正常了。
不知道为什么?
select Dump(aaa) from test22;
这个在修改前后是一样的。