SQL Server从左边填充字符串函数,lpad

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

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

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

returns nvarchar(255)

as

begin

declare @fullstring nvarchar(255) --填充后的字符串
declare @fillstring nvarchar(255) --填充的字符串
declare @filllen int --填充的长度
declare @i int

if @length<=len(@s)
return left(@s,@length)

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


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

set @fullstring=@fillstring+@s
return @fullstring

end

GO

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

导航