如何使用MySQL查询填充或填充带有零的列?

时间:2009-11-13 16:36:20

标签: sql mysql

我有一张大桌子(约10,000),我需要一列才能占用三个空格。它几乎总是只占用一个空间,但我需要用零填充其他两个空格(它是一个整数列)。那有什么功能吗?

5 个答案:

答案 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