嗯,我知道这个问题已被问过几次..但是,我仍然没有得到满意的解释,尤其是为什么我们必须使用Decimal
来获取货币目的..据我所知,
Decimal
可以保存比Double
Decimal
存储准确值,Double
存储约。值所以,任何人都可以解释,也许可以在查询中给出一些实际结果,
Decimal
用于货币目的?目前我使用Double(15,2)
,因为它为我的老板提供了足够的精确度。除了我在SQLFiddle进行了一些测试,我也没有看到任何精确问题。
TESTED QUERY:
create table test(
value1 Decimal(15,4),
value2 Double(15,4)
);
insert into test values(0.0001, 0.0001),
(123.123, 123.123),
(0.0000001, 0.0000001);
select sum(value1), sum(value2) from test
RESULT
SUM(VALUE1) SUM(VALUE2)
123.1231 123.1231