[SQL SERVER][TSQL]填補字元

[SQL SERVER][TSQL]填補字元

今天開發報表時,撰寫TSQL時需要格式化某些資料表欄位值,

由於填補字元和方向每各欄位需求都不同,所以寫了各純量函數來達到這各需求,

自己紀錄一下。

 

drop function dbo.ufn_FormatString 
create function dbo.ufn_FormatString
(
@value varchar(20)--原始字串
,@padchar char(1)--填補字元
,@TotalLength int--字串總長度
,@condiction char(1)--R:右填補 L:左填補
)
returns varchar(20) 
as
begin
declare @myresult varchar(20)
if (@condiction='R') 
     select @myresult= @value+REPLICATE(@padchar, @TotalLength -  len(ISNULL(@value ,0))) 
else
    select @myresult= REPLICATE(@padchar, @TotalLength -  len(ISNULL(@value ,0))) +@value
return @myresult 
end

 

結果

select dbo.ufn_FormatString('5','0',5,'R') as '右填補',
dbo.ufn_FormatString('5','*',5,'L') as '左填補'

image

 

 

參考

REPLICATE (Transact-SQL)