这可能是我见过最没卵用的东西了
显示宽度
什么是显示宽度?
在一些sql语句中你可能会看到这样一些写法
CREATE TABLE `<table_name>` (
`name` varchar(10),
`age` int(2)
);
其中name varchar(10)
这行我们很熟悉 varchar(100)
表示最大长度为100,
但是后面的 age int(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这个数据库管理工具在创建表时,数值类型的字段也可以填一个长度。于是便在网上找相关的资料。