查找两个日期之间的星期一 [英] Find Mondays between 2 dates
本文介绍了查找两个日期之间的星期一的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要显示给定日期范围内所有星期一的日期.
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屋!
查看全文