2009-11-30 420 views

回答

15

作爲the docs說:

M是數字的最大數( 精度)。它有一個範圍爲1至65。 (MySQL的舊版的所允許的範圍 的1到254)

d是數字小數點(比例)的右側 數。它 具有〜30的範圍爲0,並且必須是不 大於M.

所以M表示最大值(整體位數),d代表的位數小數(數到小數點右側點)。

+0

非常有用的解釋,謝謝你打破M和D的關係。我從文檔中挑選它很困難。 – Xenology 2014-03-26 07:24:04

5

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是小數點右邊的小數位數(小數位數)。它有30個的範圍爲0,並且必須是不大於M.

[注:上面的鏈接已被更新以指向的MySQL 5.7文檔,但文本被從MySQL 5.1引述。文檔]

1

doc說:

用於DECIMAL列中的聲明語法保持DECIMAL(M,d),儘管值的參數的範圍已經有所改變:

  • M是最大位數(精度)。它的範圍是從1到65.這會導致舊應用程序可能的不兼容性,因爲以前版本的MySQL的允許範圍爲1到254.(自MySQL 5.0.6開始,65位的精確度實際上應用。精度爲64位數。)

  • D是小數點右邊的小數位數(小數位數)。它有一個範圍爲0〜30,但不得超過M.

相關問題