sql 存储过程中如何连接2个字符串

我想在存储过程中得到当前的年:select YEAR(GETDATE())
然后在年的后面加上类似“0000”的串,是它变成一个“20090000”这样的编号。请问如何实现,过程请写全面!!
还有,再让这个“20090000”可以+1自增变为20090001 怎么实现?
谢谢
再补充一下 如果我得到了20090001这个值之后,想用这个值去比较一个表中的一个字段值
即:20090000,20090001,.....
比较有几个数是小于20090001这个数的怎么办?需要得到这个个数
谢谢了~我可以加分的~呵呵

第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)
第3个回答  推荐于2018-04-05
CREATE PROCEDURE test
@tablename varchar(20)
AS
exec('select * from'+ @tablename)
GO
注意: 一定要在from后面留空格本回答被网友采纳
相似回答