MySQL資料型別 decimal詳解

2021-08-01 10:50:45 字數 943 閱讀 5308

1.首先,對於精度比較高的東西,比如money,我會用decimal型別,不會考慮float,double,因為他們容易產生誤差,numeric和decimal同義,numeric將自動轉成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 個位元組可用。

m 與d 對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) 的取值範圍。

結論:當數值在其取值範圍之內,小數字多了,則直接截斷小數字。

若數值在其取值範圍之外,則用最大(小)值對其填充。

**

mysql資料型別用法 mysql資料型別和用法

歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...

mysql 資料型別 真假 MySQL 資料型別

mysql基礎 資料型別 整型型別 根據所儲存的整數數值取值範圍不同,可分為以下五類 1 tinyint佔1個位元組 2 smallint佔2個位元組 3 mediumint 佔3個位元組 4 int佔4個位元組 5 bigint佔8個位元組 根據每種型別所佔的位元組數可確定其無符號整數和有符號整數...

mysql 郵箱 資料型別 mysql 資料型別

1 整型mysql資料型別含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 32768 32767 mediumint m 3個位元組 範圍 8388608 8388607 int m 4個位元組 範圍 2147483648 21474836...