第1个回答 推荐于2016-10-23
create procedure tempusp
@aa varchar(8) output,
@bb varchar(8) output
as
declare @tt varchar(4),@ntt varchar(4)
set @tt=convert(varchar(4),year(getdate()))
set @aa=@tt+'0000'
set @ntt=right('0000'+convert(varchar(4),convert(int,right(@aa,4))+1),4)
set @bb=@tt+@ntt
go
验证如下:
declare @aa varchar(8),@bb varchar(8)
exec tempusp @aa output,@bb output
select @aa,@bb
显示结果为:
20090000 20090001本回答被提问者采纳
第2个回答 2009-07-16
declare @a int
select @a= max(right(字段,4)) from//查出表里最大的后面的编号
set @a=@a+1//自动增加1
select (convert(varchar(20),year(getdate()),120)+'0000')+@a //得到结果
补充解说
select count(字段名) where right(字段名,4)<right(你得到的值例如 20090001,4)