微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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,'') 
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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐