M,D在十进制(M,D)中的含义是什么?

时间:2009-11-30 05:56:24

标签: mysql decimal

有人知道吗?

3 个答案:

答案 0 :(得分:19)

正如the docs所说:

  

M是最大位数(   精确)。它的范围是1到65。   (较早版本的MySQL允许使用   范围为1到254。)

     

D是右边的位数   小数点(比例)。它   范围为0到30,必须为no   大于M.

所以M代表最大(总数位数),D代表小数(小数点右边的位数)。

答案 1 :(得分:6)

https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html

  

DECIMAL列的声明语法是DECIMAL(M,D)。 MySQL 5.1中参数的值范围如下:

     
      
  • M是最大位数(精度)。它的范围是1到65.(旧版本的MySQL允许范围为1到254.)
  •   
  • D是小数点右边的位数(刻度)。它的范围为0到30,且不得大于M.
  •   

[注意:上面的链接已更新为指向MySQL 5.7文档,但该文本引自MySQL 5.1文档。]

答案 2 :(得分:2)

doc说:

  

DECIMAL列的声明语法仍然是DECIMAL(M,D),尽管参数的值范围有所改变:

     
      
  • M是最大位数(精度)。它的范围为1到65.这为旧应用程序引入了可能的不兼容性,因为以前版本的MySQL允许范围为1到254.(从MySQL 5.0.6开始实际应用65位数的精度。从5.0.3开始到5.0.5,精度为64位。)

  •   
  • D是小数点右边的位数(刻度)。它的范围为0到30,且不得大于M.

  •