MySql資料庫 數值型別的顯示寬度

我妻禮彌發表於2018-06-16

*這可能是我見過最沒鳥用的東西了

顯示寬度

什麼是顯示寬度?
在一些sql語句中你可能會看到這樣一些寫法

CREATE TABLE `<table_name>` (
	`name` varchar(10),
	`age` int(2)
);
複製程式碼

其中namevarchar(10) 這行我們很熟悉 varchar(10) 表示初始長度為10, 但是後面的 ageint(2)中這個 int後面跟著的這個2是什麼樣意思,其實這個就是顯示寬度。

所謂的顯示寬度,其實就是顯示的時候,看到的最少數字個數。

比如 int(2) ,表示不管你的數值是多少,最少可以看到兩個數字。假如你存的數值的9,沒有滿兩位,就會在前面補零。假如你的數值是120,超過了顯示寬度,則直接顯示原始值,不做補零操作。

注意:顯示寬度不會對原本的值進行更改,只會在顯示的時候改變數值的樣式。

要想讓顯示寬度用零來填充,還需要加上一個關鍵字,如下

CREATE TABLE `<table_name>` (
	`name` varchar(10),
	`age` int(2) ZEROFILL
);
複製程式碼

int(2) ZEROFILL這樣才能發揮顯示寬度的功能

注意

  • 顯示寬度只適應於Mysql的數值型別

  • 顯示寬度和數值型別的取值範圍是無關的。
    例如int(10) 他的取值範圍任然是(-2 147 483 648,2 147 483 647)

  • 顯示寬度只是指明MYSQL數值型別最少顯示的數字個數。
    當數值的位數小於顯示寬度時會有空格或零填充,當數值的位數大於顯示寬度時,直接顯示該數值

  • 顯示寬度的效果(插零)需要配合zerofill使用

番外

我發現 顯示寬度 這個沒鳥用的東西是因為在使用 Navicat這個資料庫管理工具在建立表時,數值型別的欄位也可以填一個長度。於是便在網上找相關的資料。

MySql資料庫 數值型別的顯示寬度

參考資料

相關文章