@StartTime datetime@EndTime datetime存储过程中传入上述两个参数,如果@StartTime  = '2010-02-01'
@EndTime = '2010-02-05'
则查询出结果:2010-02-01
2010-02-02
2010-02-03
2010-02-04
2010-02-05求具体SQL语句

解决方案 »

  1.   

    select dateadd(day,number,@StartTime)
    from master..spt_values
    where type='P' and dateadd(day,number,@StartTime)<=@EndTime
      

  2.   

    select dateadd(dd,number,@StartTime) datelist
    from master..spt_values
    where type='P' 
      and number<=datediff(dd,@StartTime,@EndTime)
      

  3.   

    master..spt_values
    中提供了 0-2047个连续的数,利用这做
      

  4.   

    if object_id('date','p') is not null
    drop procedure date
    go
    create procedure date
    @starttime datetime,
    @endtime datetime
    as
    select convert(char(10),dateadd(dd,number,@starttime),120)
    from master..spt_values where type='p' and dateadd(dd,number,@starttime)<=@endtime
    go exec date '2010-01-03','2010-01-05'----------
    2010-01-03
    2010-01-04
    2010-01-05(3 行受影响)