/*
生成流水号后面几位数字字符的相关函数
不足位数在左边用0填充
*/
CREATE FUNCTION dbo.FillNumberZero
(
--数值
@num int,
--总位数
@len int
)
RETURNS varchar(50) AS
BEGIN
--如果传入的流水号大于总的长度,那么直接返回流水号字符串格式
if(len(Convert(varchar(50),@num))>@len)
return Convert(varchar(50),@num)
ELSE
BEGIN
--需要填充0的位数
declare @NeedFillLen int
set @NeedFillLen=@Len-len(Convert(varchar(50),@num))
--获取需要填充的0的字符串
declare @i int
set @i=0
declare @temp varchar(50)
set @temp=N''
while @i<@NeedFillLen
BEGIN
SET @temp=@temp+'0'
SET @i=@i+1
END
--返回组后的字符串
return @temp+Convert(varchar(50),@num)
END
return ''
END