主頁 > 知識(shí)庫 > MySQL數(shù)據(jù)類型中DECIMAL的用法實(shí)例詳解

MySQL數(shù)據(jù)類型中DECIMAL的用法實(shí)例詳解

熱門標(biāo)簽:怎么辦理400電話呢 百度地圖標(biāo)注地方備注 電話機(jī)器人免費(fèi)嗎 400電話申請(qǐng)什么好 地圖標(biāo)注圖標(biāo)素材入駐 龍圖酒吧地圖標(biāo)注 好搜地圖標(biāo)注 電銷機(jī)器人價(jià)格多少錢一臺(tái) 怎么申請(qǐng)400電話申請(qǐng)

MySQL數(shù)據(jù)類型中DECIMAL的用法實(shí)例詳解

在MySQL數(shù)據(jù)類型中,例如INT,FLOAT,DOUBLE,CHAR,DECIMAL等,它們都有各自的作用,下面我們就主要來介紹一下MySQL數(shù)據(jù)類型中的DECIMAL類型的作用和用法。

一般賦予浮點(diǎn)列的值被四舍五入到這個(gè)列所指定的十進(jìn)制數(shù)。如果在一個(gè)FLOAT(8, 1)的列中存儲(chǔ)1. 2 3 4 5 6,則結(jié)果為1. 2。如果將相同的值存入FLOAT(8, 4) 的列中,則結(jié)果為1. 2 3 4 6。

這表示應(yīng)該定義具有足夠位數(shù)的浮點(diǎn)列以便得到盡可能精確的值。如果想精確到千分之一,那就不要定義使該類型僅有兩位小數(shù)。

浮點(diǎn)值的這種處理在MySQL3.23 中有例外,F(xiàn)LOAT(4) 和FLOAT(8) 的性能有所變化。這兩種類型現(xiàn)在為單精度( 4 字節(jié))和雙精度( 8 字節(jié))的類型,在其值按給出的形式存放(只受硬件的限制)這一點(diǎn)上說,這兩種類型是真浮點(diǎn)類型。

DECIMAL 類型不同于FLOAT和DECIMAL,其中DECIMAL 實(shí)際是以串存放的。DECIMAL 可能的最大取值范圍與DOUBLE 一樣,但是其有效的取值范圍由M 和D 的值決定。如果改變M 而固定D,則其取值范圍將隨M 的變大而變大。表2 - 7的前三行說明了這一點(diǎn)。如果固定M 而改變D,則其取值范圍將隨D 的變大而變?。ǖ仍黾樱1? - 7的后三行說明了這一點(diǎn)。

給定的DECIMAL 類型的取值范圍取決于MySQL數(shù)據(jù)類型的版本。對(duì)于MySQL3.23 以前的版本,DECIMAL(M, D) 列的每個(gè)值占用M 字節(jié),而符號(hào)(如果需要)和小數(shù)點(diǎn)包括在M 字節(jié)中。因此,類型為DECIMAL(5, 2) 的列,其取值范圍為-9.99 到9 9 . 9 9,因?yàn)樗鼈兏采w了所有可能的5 個(gè)字符的值。

正如MySQL3.23 一樣,DECIMAL 值是根據(jù)ANSI 規(guī)范進(jìn)行處理的, ANSI 規(guī)范規(guī)定DECIMAL(M, D) 必須能夠表示M 位數(shù)字及D 位小數(shù)的任何值。

例如, DECIMAL(5, 2) 必須能夠表示從-999.99 到999.99 的所有值。而且必須存儲(chǔ)符號(hào)和小數(shù)點(diǎn),因此自MySQL3.23以來DECIMAL 值占M + 2 個(gè)字節(jié)。對(duì)于DECIMAL(5, 2),“最長”的值(- 9 9 9 . 9 9)需要7個(gè)字節(jié)。

在正取值范圍的一端,不需要正號(hào),因此MySQL數(shù)據(jù)類型利用它擴(kuò)充了取值范圍,使其超過了ANSI 所規(guī)范所要求的取值范圍。如DECIMAL(5, 2) 的最大值為9 9 9 9 . 9 9,因?yàn)橛? 個(gè)字節(jié)可用。

簡而言之,在MySQL3.23 及以后的版本中,DECIMAL(M, D) 的取值范圍等于更早版本中的DECIMAL(M + 2, D) 的取值范圍。在MySQL數(shù)據(jù)類型的所有版本中,如果某個(gè)DECIMAL 列的D 為0,則不存儲(chǔ)小數(shù)點(diǎn)。這樣做的結(jié)果是擴(kuò)充了列的取值范圍,因?yàn)檫^去用來存儲(chǔ)小數(shù)點(diǎn)的字節(jié)現(xiàn)在可用來存放其他數(shù)字了。

如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

您可能感興趣的文章:
  • mysql中decimal數(shù)據(jù)類型小數(shù)位填充問題詳解
  • MySQL decimal unsigned更新負(fù)數(shù)轉(zhuǎn)化為0
  • 淺談MySQL中float、double、decimal三個(gè)浮點(diǎn)類型的區(qū)別與總結(jié)
  • 深入分析MySQL數(shù)據(jù)類型 DECIMAL
  • MySQL中decimal類型用法的簡單介紹
  • 詳解MySQL數(shù)據(jù)類型DECIMAL(N,M)中N和M分別表示的含義
  • MySQL中Decimal類型和Float Double的區(qū)別(詳解)
  • MySQL數(shù)據(jù)類型DECIMAL用法詳解

標(biāo)簽:廣西 溫州 內(nèi)江 撫順 浙江 汕尾 固原 防疫工作

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL數(shù)據(jù)類型中DECIMAL的用法實(shí)例詳解》,本文關(guān)鍵詞  MySQL,數(shù)據(jù),類型,中,DECIMAL,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL數(shù)據(jù)類型中DECIMAL的用法實(shí)例詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL數(shù)據(jù)類型中DECIMAL的用法實(shí)例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章