SQL 給字符串補0


第一種方法:

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)  輸出結果為:重復重復重復

     【 值得注意的是當 integer_expression 值為負值,則返回NULL 】
因此,補0操作可如下實現:

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')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM