SQL格式化流水号位数

/*
 生成流水号后面几位数字字符的相关函数
 不足位数在左边用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
 

  

原文地址:https://www.cnblogs.com/blackice/p/2815835.html