我已经在一个表中添加了一个列,该表将存储基于连接其他列的格式化字符串,以便我可以更轻松地搜索它。 为了保存将整个表加载到另一个应用程序并更新新列然后持久化,我想编写一个UPDATE SQL查询。但我无法弄清楚如何采用整数列并将其格式化,如本例所示
源列值= 1 目标列值= 0001
我希望在SQL中添加3个前导零。
有什么想法吗?
答案 0 :(得分:5)
以下是如何预装seroes:
right('0000' + cast(MyColumn, nvarchar(4), 4)
这会将0000
与MyColumn
中的任何值连接起来,并返回最右边的四个字符。
答案 1 :(得分:3)
试试这个:
SELECT RIGHT('000'+ CONVERT(VARCHAR,Source),4) AS ColWithZeros
FROM Table
答案 2 :(得分:2)
select Right( '0000' + cast( 1 as varchar),4)
答案 3 :(得分:0)
如果它来自整数列,我会删除对字符串“0001”的依赖。
此外,大多数其他答案假设1是唯一的数据,我建议您需要找到数字位数,然后添加适当数量的零。因为它将失败任何其他数据(10,20,100等)。