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