DECIMAL

一、簡述
在實際的企業級開發中,經常遇到需要存儲金額(3888.00元)的字段,這時候就需要用到數據類型decimal。
在MySQL數據庫中,DECIMAL的使用語法是:DECIMAL(M,D),其中,
M 的範圍是1~65
D 的範圍是0~30
而且D不能大於M
二、最大值
數據類型爲DECIMAL的字段,可以存儲的最大值/範圍是多少?
例如:DECIMAL(5,2),則該字段可以存儲-999.99~999.99,最大值爲999.99。
也就是說D表示的是小數部分長度,(M-D)表示的是整數部分長度
三、存儲
DECIMAL類型的數據存儲形式是,將每9位十進制數存儲爲4個字節(官方解釋:Values for DECIMAL columns are stored using a binary format that packs nine decimal digits into 4 bytes)。
那有可能設置的位數不是9的倍數,官方還給瞭如下表格對照:
Leftover Digits
Number of Bytes
0
0
1–2
1
3–4
2
5–6
3
7–9
4
表格什麼意思呢,舉個例子:
1、字段DECIMAL(18,9),18-9=9,這樣整數部分和小數部分都是9,那兩邊分別佔用4個字節;
2、字段DECIMAL(20,6),20-6=14,其中小數部分爲6,就對應上表中的3個字節,而整數部分爲14,14-9=5,就是4個字節再加上表中的3個字節。
四、參考



Copyright © 2018 Ansel. All rights reserved.












發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章