MySQL數(shù)據(jù)類型-decimal詳解

1.首先,對(duì)于精度比較高的東西,比如money,我會(huì)用decimal類型,不會(huì)考慮float,double,因?yàn)樗麄內(nèi)菀桩a(chǎn)生誤差,numeric和decimal同義,numeric將自動(dòng)轉(zhuǎn)成decimal。

DECIMAL從MySQL 5.1引入,列的聲明語法是DECIMAL(M,D)。在MySQL 5.1中,參量的取值范圍如下:

·M是數(shù)字的最大數(shù)(精度)。其范圍為1~65(在較舊的MySQL版本中,允許的范圍是1~254),M 的默認(rèn)值是10。

·D是小數(shù)點(diǎn)右側(cè)數(shù)字的數(shù)目(標(biāo)度)。其范圍是0~30,但不得超過M。

說明:float占4個(gè)字節(jié),double占8個(gè)字節(jié),decimail(M,D)占M+2個(gè)字節(jié)。

如DECIMAL(5,2) 的最大值為9 9 9 9 . 9 9,因?yàn)橛? 個(gè)字節(jié)可用。

M 與D 對(duì)DECIMAL(M, D) 取值范圍的影響

類型說明取值范圍(MySQL < 3.23)取值范圍(MySQL >= 3.23)

MySQL < 3.23 MySQL >=3.23
DECIMAL(4, 1) -9.9 到 99.9 -999.9 到 9999.9

DECIMAL(5,1) -99.9 到 999.9 -9999.9 到 99999.9

DECIMAL(6,1) -999.9 到 9999.9 -99999.9 到 999999.9

DECIMAL(6,2) -99.99 到 999.99 -9999.99 到 99999.99

DECIMAL(6,3) -9.999 到 99.999 -999.999 到 9999.999

在MySQL 3.23 及以后的版本中,DECIMAL(M, D) 的取值范圍等于早期版本中的DECIMAL(M + 2, D) 的取值范圍。

結(jié)論:

當(dāng)數(shù)值在其取值范圍之內(nèi),小數(shù)位多了,則直接截?cái)嘈?shù)位。

若數(shù)值在其取值范圍之外,則用最大(小)值對(duì)其填充。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、MySQL 數(shù)據(jù)類型 MySQL中定義數(shù)據(jù)字段的類型對(duì)你數(shù)據(jù)庫的優(yōu)化是非常重要的。 MySQL支持多種類型,大...
    garvin閱讀 673評(píng)論 0 1
  • 計(jì)算機(jī)誕生后,數(shù)據(jù)開始在計(jì)算機(jī)中存儲(chǔ)并計(jì)算,并設(shè)計(jì)出了數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng)解決的問題:持久化存儲(chǔ),優(yōu)化讀寫,保證...
    LittlePy閱讀 847評(píng)論 0 0
  • MySQL數(shù)據(jù)庫對(duì)象與應(yīng)用 2.1-MySQL數(shù)據(jù)類型 庫建立好之后基本不動(dòng),和我們接觸最頻繁的是表. 建表就是聲...
    極客圈閱讀 2,258評(píng)論 0 8
  • 長到二十七歲,第一次去武漢。 武漢之于我,很多年里只是個(gè)地名,和世界上任何其他地名沒什么兩樣,屬于沒有去過的遠(yuǎn)方。...
    伊水蘆笛閱讀 647評(píng)論 0 0
  • 感恩先生今天給我燉排骨湯,美味極了。他說以后要好好的對(duì)我好,讓我太感動(dòng)了,心里感覺特別舒服。 真不愧是我...
    椰子與你同行閱讀 326評(píng)論 0 1

友情鏈接更多精彩內(nèi)容