天天看點

【MYSQL】金額(金錢)相關的資料存儲類型intDecimal總結參考資料

對于遊戲币等代币,一般存儲為int類型是可行的。

問題在于越界,int類型長度為11位。

在存儲人民币相關的金額的時候,則隻能存儲到9長度的人民币,也就是說,最大隻能存儲999999999,不到10億的數值,如果業務增長很快的話,就會給自己留下隐患。

Decimal為專門為财務相關問題設計的資料類型。

DECIMAL從MySQL 5.1引入,列的聲明文法是DECIMAL(M,D)。在MySQL 5.1中,參量的取值範圍如下: ·M是數字的最大數(精度)。其範圍為1~65(在較舊的MySQL版本中,允許的範圍是1~254),M 的預設 值是10。 ·D是小數點右側數字的數目(标度)。其範圍是0~30,但不得超過M。 說明:float占4個位元組,double占8個位元組,decimail(M,D)占M+2個位元組。 如DECIMAL(5,2) 的最大值為9 9 9 9 . 9 9,因為有7 個位元組可用。

能夠解決資料的範圍和精度的問題。

這兩種方式都是可行的解決方案,我們可以根據具體情況使用合适的方案。

<a href="http://www.linuxidc.com/Linux/2013-07/88032.htm">http://www.linuxidc.com/Linux/2013-07/88032.htm</a>

<a href="http://baike.baidu.com/link?url=_JyEhjEYAYW2TOzncRKUMCBlEH77UjO6hEIAwIGCDMBQSon-JsUmoxkSRRVnnbEf40aoqWerVdqsWN97MVgLGq">http://baike.baidu.com/link?url=_JyEhjEYAYW2TOzncRKUMCBlEH77UjO6hEIAwIGCDMBQSon-JsUmoxkSRRVnnbEf40aoqWerVdqsWN97MVgLGq</a>

繼續閱讀