http://expert.csdn.net/Expert/topic/2437/2437014.xml?temp=.67857
交流]自增号

解决方案 »

  1.   

    datediff() 函数先得到几个月。
    然后循环家加1就可以得到了。
      

  2.   

    declare @rq1 char(10),@rq2 char(10),@s varchar(1000)
    set @rq1 = '2002-11-01'
    set @rq2 = '2003-09-01'
    set @s = 'Select convert(char(7),dateadd(month,id,'''+@rq1 +'''),121) from 
    (Select top '+cast(datediff(month,@rq1,@rq2)+1 as char(3))+' (select sum(1) from sysobjects where name<= a.name)-1 as id from sysobjects a) bb '
    --print @s
    exec (@s)
            
    ------- 
    2002-11
    2002-12
    2003-01
    2003-02
    2003-03
    2003-04
    2003-05
    2003-06
    2003-07
    2003-08
    2003-09