SQL Server从右边填充字符串函数,rpad

使用给定的字符,右填充字符串至指定长度。

Oracle中有该函数,但是SQL Server中没有

/*使用指定的字符从右边填充字符串至指定长度
**如果字符串长度大于指定长度,返回字符串右边的子串,长度为指定产度
*/
create function [dbo].[rpad](@s nvarchar(255),@length int,@char char(1))

returns nvarchar(255)

as

begin

declare @padded_string nvarchar(255) --填充后的字符串
declare @pad_string nvarchar(255) --填充的字符串
declare @pad_length int --填充的长度
declare @i int

if @length<len(@s)
return right(@s,@length)

set @pad_length=@length-len(@s)
set @i=0


while(@i<@pad_length)
begin
set @pad_string=isnull(@pad_string,'')+@char
set @i=@i+1
end

set @padded_string=@s+@pad_string
return @padded_string

end

 

GO

 

posted on 2014-03-08 09:36  IVISKY  阅读(2574)  评论(0编辑  收藏  举报

导航