自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL中Int(3)與Int(6)的數(shù)值范圍相同嗎?

運(yùn)維 數(shù)據(jù)庫運(yùn)維
int類型整數(shù)占4個(gè)字節(jié),有符號(hào)的范圍為:-2^31 ~ 2^31-1,無符號(hào)整數(shù)范圍為:0 ~ 2^32-1,既然都是無符號(hào)整數(shù),那么存儲(chǔ)范圍是一樣的,int(6)只是在數(shù)字不夠6位時(shí)用0補(bǔ)全,如果超過6位,則不需要補(bǔ)全。

[[427909]]

本文轉(zhuǎn)載自微信公眾號(hào)「大數(shù)據(jù)技術(shù)派」,作者柯柯。轉(zhuǎn)載本文請(qǐng)聯(lián)系大數(shù)據(jù)技術(shù)派公眾號(hào)。

提問:

mysql的字段,unsigned int(3), 和unsinged int(6), 能存儲(chǔ)的數(shù)值范圍是否相同。如果不同,分別是多大?

回答:

不同,int(3)最多顯示3位無符號(hào)整體,int(6)最多顯示6位無符號(hào)數(shù)。

如果你的答案和上面的一致,恭喜你和我犯了一樣的錯(cuò)誤。

真實(shí)情況:

int類型整數(shù)占4個(gè)字節(jié),有符號(hào)的范圍為:-2^31 ~ 2^31-1,無符號(hào)整數(shù)范圍為:0 ~ 2^32-1,既然都是無符號(hào)整數(shù),那么存儲(chǔ)范圍是一樣的,int(6)只是在數(shù)字不夠6位時(shí)用0補(bǔ)全,如果超過6位,則不需要補(bǔ)全。

我們建立下面這張表:

  1. drop table if exists test; 
  2. CREATE TABLE `test` ( 
  3.   `id` int(11) NOT NULL AUTO_INCREMENT, 
  4.   `a` int(11) NOT NULL
  5.   `b` int(11) unsigned zerofill NOT NULL
  6.   `c` int(5) DEFAULT NULL
  7.   `d` int(5) unsigned zerofill NOT NULL
  8.   `e` int(15) DEFAULT NULL
  9.   PRIMARY KEY (`id`) 
  10. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 

插入一些數(shù)據(jù)后,用cmd命令行查看:

  1. mysql> select * from test; 
  2. +----+------------+-------------+------------+------------+------------+ 
  3. | id | a          | b           | c          | d          | e          | 
  4. +----+------------+-------------+------------+------------+------------+ 
  5. |  1 |          1 | 00000000001 |          1 |      00001 |          1 | 
  6. |  2 | 1234567890 | 01234567890 | 1234567890 | 1234567890 | 1234567890 | 
  7. +----+------------+-------------+------------+------------+------------+ 

發(fā)現(xiàn),無論是int(3), int(6), 都可以顯示6位以上的整數(shù)。但是,當(dāng)數(shù)字不足3位或6位時(shí),前面會(huì)用0補(bǔ)齊。

注意:如果你是用類似navicat這種工具看,不會(huì)補(bǔ)充0,可能做了處理,需要用mysql cmd命令行才能看到這種效果。

查下手冊(cè),解釋是這樣的:

MySQL還支持選擇在該類型關(guān)鍵字后面的括號(hào)內(nèi)指定整數(shù)值的顯示寬度(例如,INT(4))。該可選顯示寬度規(guī)定用于顯示寬度小于指定的列寬度的值時(shí)從左側(cè)填滿寬度。顯示寬度并不限制可以在列內(nèi)保存的值的范圍,也不限制超過列的指定寬度的值的顯示。

也就是說,int的長度并不影響數(shù)據(jù)的存儲(chǔ)精度,長度只和顯示有關(guān),為了讓大家看的更清楚,我們?cè)谏厦胬拥慕ū碚Z句中,使用了zerofill。

結(jié)論:

無論是unsigned int(3)或 unsiend int(6),存儲(chǔ)的都是4字節(jié)無符號(hào)整數(shù), 也就是0~2^32。

 

責(zé)任編輯:武曉燕 來源: 大數(shù)據(jù)技術(shù)派
相關(guān)推薦

2024-03-14 08:36:25

MySQLzerofill?數(shù)字

2025-02-10 08:40:00

MySQLint(10)數(shù)據(jù)庫

2024-01-29 10:09:59

數(shù)據(jù)庫INT(3)INT(11)

2010-10-08 14:45:43

mysql中int

2021-08-30 07:22:15

Go類型interface

2010-10-08 14:04:44

MySQL數(shù)值數(shù)據(jù)類型

2023-02-07 09:01:30

字符串類型MySQL

2021-07-27 06:49:11

數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)

2009-06-19 16:46:18

IntegerJava

2023-12-12 08:50:22

MySQL隱式轉(zhuǎn)換varchar

2024-03-19 14:18:48

C#后端編程

2022-09-09 15:32:46

intC語言原子操作

2022-07-01 11:07:56

int原子操作代碼

2010-11-22 11:25:07

MySQL查詢時(shí)間段

2009-08-18 15:00:00

C#強(qiáng)制轉(zhuǎn)換

2009-08-03 14:54:23

值類型C#

2023-09-14 16:02:27

2022-05-16 07:48:54

Python操作類型

2024-09-11 15:59:31

LLM.int8()大模型量化

2021-09-23 14:55:57

.NETHTTP服務(wù)器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)