利用SQLServer用户自定义函数实现编号自增长

来源:互联网 发布:淘宝卖白酒需要什么证 编辑:程序博客网 时间:2024/05/06 07:31

CREATE function IncNum(@num varchar(100))
returns nvarchar(20)
as
--将指定串递增
--参数:@num 编号
begin
declare @s nvarchar(20),
        @s1 nvarchar(20),
        @left nvarchar(20),
        @right nvarchar(20),
        @nextnum nvarchar(50)
set @s=@num
set @nextnum=''
set @s1=''
set @left=''
set @right=''
while len(@s)>0
begin 
set @s1=substring(@s,1,1)
if @s1 like '[0123456789'
   set @right=@right+@s1
else
   set @right=''
set @s=stuff(@s,1,1,'') 
end
if @right=''
return ''
set @right=cast(cast(@right as int)+1 as nvarchar(20))
set @left=left(@num,len(@num)-len(@right))
set @nextnum=@left+@right
return @nextnum
end

使用: select dbo.IncNum('A001S1')

结果: A001S2



转载地址:http://hi.baidu.com/qdseashore/item/32e947e90618abf6e1a5d452

原创粉丝点击