溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL數(shù)據(jù)類型中DECIMAL的詳細用法及作用

發(fā)布時間:2020-05-09 17:55:10 來源:億速云 閱讀:879 作者:Leah 欄目:MySQL數(shù)據(jù)庫

下文主要給大家?guī)?a title="MySQL" target="_blank" href="http://kemok4.com/mysql/">MySQL數(shù)據(jù)類型中DECIMAL的詳細用法及作用,希望這些文字能夠帶給大家實際用處,這也是我編輯MySQL數(shù)據(jù)類型中DECIMAL的詳細用法及作用這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。                                          

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

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

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

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

MySQL數(shù)據(jù)類型中DECIMAL的詳細用法及作用

給定的DECIMAL 類型的取值范圍取決于MySQL數(shù)據(jù)類型的版本。對于MySQL3.23 以前的版本,DECIMAL(M, D) 列的每個值占用M 字節(jié),而符號(如果需要)和小數(shù)點包括在M 字節(jié)中。因此,類型為DECIMAL(5, 2) 的列,其取值范圍為-9.99 到9 9 . 9 9,因為它們覆蓋了所有可能的5 個字符的值。

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

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

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

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

對于以上關(guān)于MySQL數(shù)據(jù)類型中DECIMAL的詳細用法及作用,大家是不是覺得非常有幫助。如果需要了解更多內(nèi)容,請繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會喜歡上這些內(nèi)容的。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI