查找两个日期之间的星期一 [英] Find Mondays between 2 dates

查看:35
本文介绍了查找两个日期之间的星期一的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要显示给定日期范围内所有星期一的日期.

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

例如,如果我的开始日期是 01/05/2015 而结束日期是 31/05/2015,我需要显示

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

04/05/2015
11/05/2015
18/05/2015
25/05/2015

怎么可能?

推荐答案

此程序独立于地区和语言.

This procedure is independent from regions and languages.

请注意带有 SET DATEFIRST 1 的第一行.

Please note the first line with SET DATEFIRST 1.

SET DATEFIRST 1; -- First day of the week is set to monday

DECLARE @DateFrom DateTime ='20150601', @DateTo DateTime = '20150630' ;

WITH CTE(dt)
AS
(
      SELECT @DateFrom
      UNION ALL
      SELECT DATEADD(d, 1, dt) FROM CTE
      WHERE dt < @DateTo
)
SELECT dt FROM CTE  where datepart ("dw", dt) = 1;

这篇关于查找两个日期之间的星期一的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆