从设定日期sql每隔4个星期六选择一次

时间:2014-09-09 14:29:57

标签: sql-server-2008 date

我正在尝试编写一个SQL语句,从设定的日期开始每四个星期六选择一次。因此,如果选择的日期是07/09/2014,则查询将返回05/10/2014和02/11/2014,依此类推。

我可以从日期开始选择每个星期六,但我不知道如何让它每次都能完成第四次。

SELECT DATE
          , DATENAME(DW,DATE) as Date
     FROM tblCalender
     WHERE DATENAME(DW,DATE) = 'Saturday'
          AND Date > '13-September-2014' 

这是让星期六前进的选择。

1 个答案:

答案 0 :(得分:0)

感谢t_m建议

DECLARE @Date DATETIME
SET @Date = '19-July-2014'

SELECT  Date AS SatDate
          , DayOfWeek

 FROM (
SELECT DATE
          , DATENAME(DW,DATE) as DayOfWeek
          , ROW_NUMBER() OVER (ORDER BY Date) AS rownum
     FROM tblCalender
     WHERE DATENAME(DW,DATE) = 'Saturday'
          AND Date > @Date
          ) AS t
          WHERE t.rownum % 4 = 0

感谢您的提示!