decimal這個資料型別的用法

2021-08-30 13:38:55 字數 593 閱讀 3799

筆者在網上搜了好久,解釋都晦澀難懂。最後通過親手實踐加課本知識得出結論如下: 

decimal(m,n) 

m表示:不包括小數點,不包括符號位,所能存數字的總位數(包括小數部分和整數部分) 

n表示:小數部分數字的位數,由此可知整數部分的位數為m-n;

舉個例子, 

decimal(4,2) 能夠表示的數的範圍 -99.99到99.99; 

decimal(4,1)能表示的範圍,還要寫嗎?如果對自己心中的答案有懷疑,自己去實驗吧。

特殊處理, 

如果對於decimal(4,2)的列,輸入下列值 

輸入是99.1 , 儲存為99.10 自動補全 

輸入是99.12 , 儲存為99.12 正常處理 

輸入是99.123 ,儲存為99,12 (四捨五入處理) 

【注】:我實驗的mysql版本是5.6以上,其他版本可能是截斷處理,即輸入99.129 儲存為99.12,而不是99.13。 

另外,四捨五入是從小數點後第三位開始 

如 輸入是 99.1249 儲存為99.12。 換句話說四捨五入只看小數點後第三位。

--------------------- 

decimal這個資料型別的用法,保證你看懂

筆者在網上搜了好久,解釋都晦澀難懂。最後通過親手實踐加課本知識得出結論如下 decimal m,n m表示 不包括小數點,不包括符號位,所能存數字的總位數 包括小數部分和整數部分 n表示 小數部分數字的位數,由此可知整數部分的位數為m n 舉個例子,decimal 4,2 能夠表示的數的範圍 99....

MySQL資料型別DECIMAL

decimal 型別不同於float和decimal,其中decimal 實際是以串存放的。decimal 可能的最大取值範圍與double 一樣,但是其有效的取值範圍由m 和d 的值決定。如果改變m 而固定d,則其取值範圍將隨m 的變大而變大。表2 7的前三行說明了這一點。如果固定m 而改變d,則...

MySql 資料型別 decimal詳解

1.首先,對於精度比較高的東西,比如money,我會用decimal型別,不會考慮float,double,因為他們容易產生誤差,numeric和decimal同義,numeric將自動轉成decimal。decimal從 mysql 5.1 引入,列的宣告語法是 decimal m,d 在mysq...