我有一张大桌子(约10,000),我需要一列才能占用三个空格。它几乎总是只占用一个空间,但我需要用零填充其他两个空格(它是一个整数列)。那有什么功能吗?
答案 0 :(得分:8)
你为什么要这样做?如果是因为您希望查询表的某个报表将一位数值显示为3位数,请在显示时添加填充零 。不要将显示信息混合到您的数据中。
答案 1 :(得分:3)
将ZEROFILL
属性添加到int列。
答案 2 :(得分:1)
要在使用select显示数据时添加填充,可以使用LPAD:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_lpad
答案 3 :(得分:0)
INT列不存储前导零。
您可能必须添加一个列,该列存储带有前导零的字符串转换值。
答案 4 :(得分:0)
如果您可以控制相关表格的定义,则可以使用MySQL's zerofill attribute。它允许您定义用零填充的数字列。
如果您没有此控件(以及您应该做的事情),请在查询表中的值时添加填充:
SELECT LPAD(CONVERT(IntColumn,VARCHAR(3)),3,'0')
这样整数仍然存储为正常的整数,但是从消费此查询的观点来看,整数是padded。