sql序列数据补全函数,如xulieBuquan(‘0′,8,’1524′,1) 返回’00001524’,最大支持256位
sql序列数据补全函数,如xulieBuquan('0',8,'1524',1) 返回'00001524',最大支持256位
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: zj.mender.yang -- Create date: 2017-11-09 -- Description: 序列数据补全,如xulieBuquan('0',8,'1524',1) 返回'00001524',最大支持256位 -- 参数说明:@symbol ,补全符号序列,最大50位 -- @length ,补全后长度,取值范围0-256 -- @oldStr ,待补全内容,最大支持到256位 -- @where ,补全位置,默认为1,补全到前面,为0时补全到后面 -- ============================================= alter FUNCTION dbo.xulieBuquan ( @symbol varchar(50), @length int, @oldStr varchar(256), @where bit=1 ) RETURNS varchar(256) --最大支持256位 AS BEGIN declare @tStr varchar(256) declare @i int if (@length<len(@oldStr)) return @oldStr set @i=1 set @tStr='' while @i<=@length-len(@oldStr) begin set @tStr=@tStr + '' + @symbol set @i=@i+1 end if (@where=1) set @tStr=@tStr+ ''+ @oldStr else set @tStr=@oldStr + '' + @tStr RETURN @tStr END GO