日期:2014-05-17  浏览次数:20697 次

自动生成编号的问题??????
我想设计一个自动编号每个月从001开始这个月结束后下个也还是从001开始,而且前面是带年月的
例:201201001,201201002
   201202001,201202002
如何设计,可以直接从数据库里设计吗,从标识范围或者是初始值
请高手帮忙啊,谢谢各位了,如问题写的不够清楚请提问
数据库 SQLSERVER 标识范围

------解决方案--------------------
DECLARE @i TABLE (date datetime,NO varchar(20))
INSERT INTO @i(date,NO)
SELECT '2012-01-01','201201001'
UNION ALL
SELECT '2013-01-01','201301003'
UNION ALL
SELECT '2014-01-01',null

select convert(VARCHAR(6),[date],112)+ 
case when right([no],3) is NULL OR right([no],3)='' then '001' 
else right('00'+convert(varchar,convert(int,right([no],3))+1),3) 
end as plusno
from @i

/*
201201002
201301004
201401001*/