在 SQL Server 2008 R2 中首次创建时,我有一个最长为 3 个字符的字符串。
我想用前导零填充它,所以如果它的原始值是“1”,那么新值就是“001”。或者,如果它的原始值为“23”,则新值为“023”。或者如果它的原始值为‘124’,那么新值与原始值相同。
我正在使用 SQL Server 2008 R2。我将如何使用 T-SQL 做到这一点?
如果该字段已经是一个字符串,这将起作用
SELECT RIGHT('000'+ISNULL(field,''),3)
如果您希望空值显示为“000”
它可能是一个整数——那么你会想要
SELECT RIGHT('000'+CAST(field AS VARCHAR(3)),3)
根据问题的要求,此答案仅在长度 <= 3 时才有效,如果您想要更大的东西,则需要将字符串常量和两个整数常量更改为所需的宽度。例如'0000' and VARCHAR(4)),4
'0000' and VARCHAR(4)),4