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

显示出两个时间段的日期
例如:2013-10-01,2013-10-17
显示结果为:  
日期                 年月

2013-10-01 2013-10
2013-10-02 2013-10
2013-10-03 2013-10
2013-10-04 2013-10
2013-10-05 2013-10
2013-10-06 2013-10
2013-10-07 2013-10
2013-10-08 2013-10
2013-10-09 2013-10
2013-10-10 2013-10
2013-10-11 2013-10
2013-10-12 2013-10
2013-10-13 2013-10
2013-10-14 2013-10
2013-10-15 2013-10
2013-10-16 2013-10
2013-10-17 2013-10

------解决方案--------------------
declare @sd datetime,@ed datetime
select @sd='2013-10-01',@ed='2013-10-17'
select CONVERT(varchar(10),dt,120) as 日期,CONVERT(varchar(7),dt,120) as 年月
from(
 select 
  dateadd(dd,number,@sd) as dt
  from master..spt_values
  where type='P' and dateadd(dd,number,@sd)<=@ed
  ) t


看看这是不是你要的结果