MySQL - 十进制(M,D)vs双(M,D)

时间:2014-08-18 08:15:28

标签: mysql sql

嗯,我知道这个问题已被问过几次..但是,我仍然没有得到满意的解释,尤其是为什么我们必须使用Decimal来获取货币目的..据我所知,

  1. Decimal可以保存比Double
  2. 更大的数字
  3. Decimal存储准确值,Double存储约。值
  4. 所以,任何人都可以解释,也许可以在查询中给出一些实际结果,

    1. 它们的确切值是什么意思?值α
    2. 我为什么要将Decimal用于货币目的?
    3. 目前我使用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
      

0 个答案:

没有答案