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