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

怎么根据给出的时间段获取其中每个星期一

2013-05-02 
如何根据给出的时间段获取其中每个星期一比如startTime 2013-01-01 01:00:00endTime2013-04-26 01:00:00另

如何根据给出的时间段获取其中每个星期一
比如startTime 2013-01-01 01:00:00
    endTime   2013-04-26 01:00:00
另外一个参数是 @int (@int = 1代表星期日,2代表星期一,依次后推)

那么如何检索到这个时间段内的每个@int 对应的日期呢



[解决办法]

select * from table_1 where datepart(weekday, coltime)=@int 

[解决办法]
datepart(weekday,日期字段)=2
这样就行吧..

[解决办法]
DECLARE @startTime DATETIME ='2013-01-01 01:00:00'
declare @endTime   DATETIME ='2013-04-26 01:00:00'
DECLARE @int INT = 1

SET DATEFIRST 7

SELECT  *
FROM    ( SELECT    DATEADD(dd, number, @starttime) AS dd
          FROM      master..spt_values M
          WHERE     type = 'P'
        )T
WHERE   dd BETWEEN @starttime AND @endtime AND DATEPART(dw,dd) = @int

/*
2013-01-06 01:00:00.000
2013-01-13 01:00:00.000
2013-01-20 01:00:00.000
2013-01-27 01:00:00.000
2013-02-03 01:00:00.000
2013-02-10 01:00:00.000
2013-02-17 01:00:00.000
2013-02-24 01:00:00.000
2013-03-03 01:00:00.000
2013-03-10 01:00:00.000
2013-03-17 01:00:00.000
2013-03-24 01:00:00.000
2013-03-31 01:00:00.000
2013-04-07 01:00:00.000
2013-04-14 01:00:00.000
2013-04-21 01:00:00.000*/

热点排行