有人知道吗?
答案 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.