1. 程式人生 > 其它 >MySQL資料型別decimal詳解

MySQL資料型別decimal詳解

大概意思是這樣的:
decimal(m,d)
m是數字的最大位數,他的範圍是從1-65;
d是小數點後的位數,他的範圍是0-30,並且不能大於m。
如果m被省略了,那麼m的值預設為10,
如果d被省略了,那麼d的值預設為0.
舉例表示:
1、decimal(5,2) 所指代的範圍是-999.99~999.99 數字的最大位數是5位,小數點右側是2位,即有兩位小數。
2、decimal(7,6)所指代的範圍是-9.999999~9.999999 數字的最大位數是7位,小數點右側是6位,即有六位小數。
字的位數和所佔位元組數,有以下對應表:
小數點左側位數
資料結構所佔的位元組數
1–2 1
3–4 2
5–6 3
7–9 4

舉例表示:
decimal(18,9)小數位左右各為9位數,此資料所佔以上表格即為4位元組整數位,4位元組小數位;
decimal(20,6)整數位為14位,小數位位6位,此資料需要4個位元組給整數位的9位和3位元組給另外的5位整數,另外小數位需要3個位元組,總共是4+3+3 = 10個位元組。
decimal不能夠儲存以“+”、“-”和“0”開頭的資料,如果是“+”開頭預設存為正數,而“-”開頭則不儲存
具體的對decimal的定義,可以在mysql原始碼中的strings/decimal.c檔案中的decimal2bin()函式檢視。
————————————————
版權宣告:本文為CSDN博主「liaowenxiong」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:

https://blog.csdn.net/liaowenxiong/article/details/120378170