db2 中字段类型为 DECIMAL(14,6)的字段值为2542.405000 的字段,取出后保存至字段类型为NUMERIC(14,6) 的表中,值变为2542.404999 ,这是什么原因造成的精度问题?怎么解决呢?
db2inst1@dblion-a:~> db2 "create table t0528(id int,col decimal(14,6))"
DB20000I The SQL command completed successfully.
db2inst1@dblion-a:~> db2 "create table t0528_target(id int,col numeric(14,6))"
DB20000I The SQL command completed successfully.
db2inst1@dblion-a:~> db2 "insert into t0528 values(1,2542.405000)"
DB20000I The SQL command completed successfully.
db2inst1@dblion-a:~> db2 "select * from t0528"
ID COL
----------- ----------------
1 2542.405000
1 record(s) selected.
db2inst1@dblion-a:~> db2 "insert into t0528_target select * from t0528"
DB20000I The SQL command completed successfully.
db2inst1@dblion-a:~> db2 "select * from t0528_target"
ID COL
----------- ----------------
1 2542.405000
1 record(s) selected.
db2inst1@dblion-a:~>
decimal(14,6) 转换为 numeric(14,6) 没有问题,应该是你转换问题。
收起