SQL:查询特定格式的整数列

SQL: Query integer column in specific format

我正在尝试将类型 (int) 的列查询为格式 (000) 的字符串。例如:如果列值为 1,则查询的输出应为 001

取决于您使用的数据库引擎。

在 SQL Server 2012 及更高版本中:

SELECT FORMAT(7, 'D3')

结果是这个字符串:

007

对于旧版本的 SQL 服务器,请参阅 shree.pat18

接受的答案

对于 MySQL,看这里:Adding a leading zero to some values in column

对于 PostgreSQL,看这里:Padding zeros to the left in postgreSQL

试试这个:

select right('000' + convert(varchar(3), intcolumn), 3) from yourtable

请注意,输出的类型为 varchar。如果您在其他地方需要此输出作为数字,我建议您在 UI 代码中进行格式化并在查询中将其保留为数字。