小编典典

用前导零填充字符串,使其在 SQL Server 2008 中的长度为 3 个字符

all

在 SQL Server 2008 R2 中首次创建时,我有一个最长为 3 个字符的字符串。

我想用前导零填充它,所以如果它的原始值是“1”,那么新值就是“001”。或者,如果它的原始值为“23”,则新值为“023”。或者如果它的原始值为‘124’,那么新值与原始值相同。

我正在使用 SQL Server 2008 R2。我将如何使用 T-SQL 做到这一点?


阅读 97

收藏
2022-03-13

共1个答案

小编典典

如果该字段已经是一个字符串,这将起作用

 SELECT RIGHT('000'+ISNULL(field,''),3)

如果您希望空值显示为“000”

它可能是一个整数——那么你会想要

 SELECT RIGHT('000'+CAST(field AS VARCHAR(3)),3)

根据问题的要求,此答案仅在长度 <= 3 时才有效,如果您想要更大的东西,则需要将字符串常量和两个整数常量更改为所需的宽度。例如'0000' and VARCHAR(4)),4

2022-03-13