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 代码中进行格式化并在查询中将其保留为数字。
我正在尝试将类型 (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 代码中进行格式化并在查询中将其保留为数字。