第一種方法:
right('00000'+cast(@count as varchar),5)
其中'00000'的個數為right函數的最后參數,例如這里是5,所以有5個0
@count就是被格式化的正整數
例如:
1、select right('00000'+cast(dense_rank() over( order by zsbh ) as VARCHAR(20)),5)
2、declare @count int
set @count = 0
while (@count < 1000)
begin
print right('00000'+cast(@count as varchar),5)
set @count = @count +1
end
第二種方法:使用REPLICATE函數,將字串值重復指定的次數。例如:
REPLICATE('重復',3) 輸出結果為:重復重復重復
SELECT REPLICATE('0',5-len('9'))+'9' --左邊補0, 如 00009
SELECT '9' + REPLICATE('0',5-len('9')) --右邊補0,如 90000
第三種方法:使用stuff函數,刪除指定長度的字符,並在指定的起點處插入另一組字符。例如:
第一個字符串 abcdef 中刪除從第 2 個位置(字符 b)開始的三個字符,然后在刪除的起始位置插入第二個字符串,從而創建並返回一個字符串。
SELECT STUFF('abcdef', 2, 3, 'ijklmn')
輸出結果為:
aijklmnef。
因此補0操作可如下實現:
select stuff('00000',len('00000')-len('123')+1,len('123'),'123')