Find Mondays between 2 dates

后端 未结 4 1685
梦如初夏
梦如初夏 2020-12-18 11:45

I need to display dates of all Mondays in the given date range.

For example, if my start date is 01/05/2015 and end date is 31/05/2015, I

4条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-18 12:38

    Using a CTE it is possible this way..

    DECLARE @DateFrom DateTime ='2015-05-01',
            @DateTo DateTime = '2015-05-31'
    
    ;WITH CTE(dt)
    AS
    (
          SELECT @DateFrom
          UNION ALL
          SELECT DATEADD(d, 1, dt) FROM CTE
          WHERE dt < @DateTo
    )
    SELECT 'Monday', dt FROM CTE
    WHERE DATENAME(dw, dt) In ('Monday')
    

提交回复
热议问题