INT(5)
和SMALLINT(5)
之间是否有所不同?还是它们代表相同的大小?#1 楼
int
和smallint
具有不同的大小和范围。(5)
是smallint(5)
或int(5)
,被称为“数值类型属性”,它表示字段的“显示宽度”,MySQL支持扩展,可以有选择地在类型的base关键字后的括号中指定整数数据类型的显示宽度。例如,
INT(4)
指定显示宽度为四位数的INT
。应用程序可以使用此可选的显示宽度来显示整数值,该整数值的宽度小于为列指定的宽度,方法是用空格左键填充它们。 (也就是说,此宽度存在于结果集返回的元数据中。是否使用该宽度取决于应用程序。)与可选(非标准)属性
ZEROFILL
结合使用时,默认的空格填充将替换为零。例如,对于声明为INT(4) ZEROFILL
的列,将取回5
的值作为0005
。这是MySQL的“扩展名”,zerofill是扩展名中的“扩展名”。
对于控制数字类型显示的明智方法,请不要使用数字类型属性,而应使用
FORMAT
LPAD
RPAD
评论
该属性在MySQL Workbench中是必需的。如果我的数字为5000,数据类型为SMALLINT(1),该怎么办?数字5000会被截断为一位吗?哪一位?
–posfan12
19/12/16在16:13
请为显示宽度使用此MySQL扩展的名称是什么?
– Christinmtown
20年9月3日于13:58