首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

取一定范围内全部日期

2013-09-06 
取一定范围内所有日期例如:2013-01-28,2013-02-02显示结果为:日期年月2013-01-282013-012013-01-292013-01

取一定范围内所有日期
例如:2013-01-28,2013-02-02

显示结果为:  日期           年月
              2013-01-28    2013-01
              2013-01-29    2013-01
              2013-01-30    2013-01
              2013-01-31    2013-01
              2013-02-01    2013-02
              2013-02-02    2013-02
[解决办法]

declare @sd datetime,@ed datetime
select @sd='2013-01-28',@ed='2013-02-02'
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

  /**
  日期         年月
---------- -------
2013-01-28 2013-01
2013-01-29 2013-01
2013-01-30 2013-01
2013-01-31 2013-01
2013-02-01 2013-02
2013-02-02 2013-02

(6 行受影响)
**/

热点排行