[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 '左填補'
參考