我只想知道在MySQL
中为INT
DataType定义ZEROFILL
有什么好处/用法
`id` INT UNSIGNED ZEROFILL NOT NULL
发布于 2011-03-10 07:03:56
当您选择一个类型为ZEROFILL
的列时,它用零填充该字段的显示值,直到列定义中指定的显示宽度。长于显示宽度的值不会被截断。请注意,ZEROFILL
的用法也意味着使用UNSIGNED
。
使用ZEROFILL
和显示宽度对数据的存储方式没有影响。它只影响它的显示方式。
下面是一些示例SQL,演示了ZEROFILL
的用法。
CREATE TABLE yourtable (x INT(8) ZEROFILL NOT NULL, y INT(8) NOT NULL);
INSERT INTO yourtable (x,y) VALUES
(1, 1),
(12, 12),
(123, 123),
(123456789, 123456789);
SELECT x, y FROM yourtable;
结果:
x y
00000001 1
00000012 12
00000123 123
123456789 123456789
发布于 2012-07-18 11:10:15
下面是一个示例,以便理解ZEROFILL
的用法可能会很有趣:
在德国,我们有5位数字的邮政编码。但是,这些代码可能以零开头,因此80337
是市政的有效邮政编码,01067
是柏林的邮政编码。
正如您所看到的,任何德国公民都希望邮政编码显示为5位数的代码,因此1067
看起来很奇怪。
为了存储这些数据,您可以使用VARCHAR(5)
或INT(5) ZEROFILL
,而置零整数有两大优点:
1067
,您仍然可以使用01067
back也许这个例子有助于理解ZEROFILL
的用法。
发布于 2011-03-10 07:09:14
这是一个为喜欢方形盒子的精神错乱的人准备的功能。
你插入
1
23
123
但当您选择时,它会填充这些值
000001
000023
000123
https://stackoverflow.com/questions/5256469
复制相似问题