W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
數(shù)值類型可以劃分為三類:
BOOL/BOOLEAN
?、?TINYINT
?、?SMALLINT
?、?MEDIUMINT
?、?INT/INTEGER
?、?BIGINT
?。:DECIMAL/NUMERIC
?。FLOAT
?、?DOUBLE
?。BIT
?。所有數(shù)據(jù)類型都可以同時使用?UNSIGNED
?關(guān)鍵字聲明為無符號類型,這會導(dǎo)致值域發(fā)生變化。
數(shù)值類型在定義時可以指定 precision 和 scale,不同類型中 precision 和 scale 的含義可能有所不同,詳情請見各類型詳細(xì)說明。
整數(shù)類型為定長、精確數(shù)值類型,值域取決于類型長度,以及是否為無符號,precision 只表示最小顯示寬度,詳見“ZEROFILL 屬性”。以下為相關(guān)信息:
類型 |
長度(字節(jié)) |
值域(有符號) |
值域(無符號) |
---|---|---|---|
|
1 |
[-27, 27 - 1] |
[0, 28 - 1] |
|
2 |
[-215, 215 - 1] |
[0, 216 - 1] |
|
3 |
[-223, 223 - 1] |
[0, 224 - 1] |
|
4 |
[-231, 231 - 1] |
[0, 232 - 1] |
|
8 |
[-263, 263 - 1] |
[0, 264 - 1] |
BOOL
等價于BOOLEAN
,這兩個類型又等價于TINYINT(1)
。
INT
等價于INTEGER
。
定點類型為變長、精確數(shù)值類型,值域和精度取決于 precision 和 scale,以及是否為無符號。precision 和 scale 分別表示十進制下的總最大有效位數(shù)、小數(shù)部分最大有效位數(shù),整數(shù)部分最大有效位數(shù)等于 precision - scale,其中 precision 和 scale 的最大值分別為 65、30,默認(rèn)值分別為 10、0。例如:
DECIMAL(5, 2)
,整數(shù)部分和小數(shù)部分最大有效位數(shù)分別為 3、2,所以值域為 [-999.99, 999.99]。
如果同時定義為UNSIGNED
,則值域為 [0, 999.99]。
DECIMAL
等價于NUMERIC
。
浮點類型為定長、非精確數(shù)值類型,值域和精度取決于類型長度、precision 和 scale,以及是否為無符號。precision 和 scale 分別表示十進制下的總最大有效位數(shù)、小數(shù)部分最大有效位數(shù),整數(shù)部分最大有效位數(shù)等于 precision - scale,其中 precision 和 scale 的最大值分別為 53、30。
浮點類型的精度只是 IEEE 標(biāo)準(zhǔn)中規(guī)定的理論值,實際情況可能因硬件或操作系統(tǒng)限制略有不同。
以下為不指定 precision 和 scale 時的默認(rèn)信息:
類型 |
長度(字節(jié)) |
值域(有符號) |
值域(無符號) |
精度 |
---|---|---|---|---|
|
4 |
[-2128, 2128] |
[0, 2128] |
7 位 |
|
8 |
[-21024, 21024] |
[0, 21024] |
15 位 |
如果指定 precision 和 scale,則值域確定方法與定點類型相同。
BIT 數(shù)據(jù)類型用于存儲 bit values。一個 BIT(M) 能夠存儲 M-bit 的值,M 的范圍是 1~64。
bit value 通過 b'value' 的形式指定,value 是用 0 和 1 來指定的,例如, b'111' 表示 7,b'10000000' 表示 128。
當(dāng)向 BIT(M) 列插入值時,如果插入值的長度小于 M,則會在左側(cè)填充 0。例如:將 b'101' 插入到 BIT(6) 時,相當(dāng)于插入了 b'000101'。
數(shù)值類型在定義時可以通過 ZEROFILL 關(guān)鍵字指定最小顯示寬度,同時將該類型隱式定義為 UNSIGNED。在數(shù)據(jù)實際顯示寬度不足最小顯示寬度時,通過先在小數(shù)部分補零到 scale 上限、再在整數(shù)部分補零到 precision 上限的方式,將顯示寬度補足到最小顯示寬度。例如:
INT(5) ZEROFILL
:當(dāng)數(shù)據(jù)值為123
時,將顯示為00123
。
DECIMAL(10, 5) ZEROFILL
:當(dāng)數(shù)據(jù)值為123.456
時,將顯示為00123.45600
。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: