MySQL 9.0 版本注意事項
本節討論 DECIMAL 資料類型(及其同義詞)的特性,特別是關於下列主題:
最大位數
儲存格式
儲存需求
MySQL 對於
DECIMAL資料行上限範圍的非標準擴充功能
DECIMAL 資料行的宣告語法為 DECIMAL(。引數的值範圍如下:M,D)
M是最大位數(精確度)。範圍為 1 到 65。D是小數點右邊的位數(小數位數)。範圍為 0 到 30,且不得大於M。
如果省略 D,則預設值為 0。如果省略 M,則預設值為 10。
M 的最大值為 65 表示 DECIMAL 值的計算精確度最高可達 65 位數。精確度達 65 位數的限制也適用於精確值數值常值,因此此類常值的最大範圍與之前不同。(DECIMAL 常值的文字長度也有限制;請參閱第 14.25.3 節「運算式處理」。)
DECIMAL 資料行的值會以二進位格式儲存,該格式會將九個十進位數字封裝成 4 個位元組。每個值的整數和小數部分的儲存需求是分開判定的。每九位數字需要 4 個位元組,任何剩餘的位數則需要 4 個位元組的部分。剩餘位數所需的儲存空間如下表所示。
| 剩餘位數 | 位元組數 |
|---|---|
| 0 | 0 |
| 1–2 | 1 |
| 1 | 2 |
| 3–4 | 3 |
| 2 | 4 |
5–6
3