获得第三个星期五之后的第一个星期一

Iva*_*van 1 sql-server date-math

我在这个网站上看到了如何获得本月的第三个星期五:

select quote_date
FROM table
 where  datename(weekday, quote_date) = 'Friday'
and datepart(day, quote_date)>=15 and datepart(day, quote_date)<=21;
Run Code Online (Sandbox Code Playgroud)

在第三个星期五之后,我将如何获得第一个星期一?

AMt*_*two 11

“第三个星期五之后的第一个星期一”可以改写为“第三个星期五之后的三天”。

因此,一旦您确定了第三个星期五(通过任何方法),只需增加 3 天即可。类似的东西:DATEADD(DAY, 3, ThirdFriday)

这也是日历表的一个很好的用例,您可以在此处此处此处阅读更多信息。

使用您的问题中的原始查询,并假设这为您提供了“第三个星期五”所需的结果,那么您可以执行以下操作:

SELECT ThirdFriday                 = quote_date,
       FirstMondayAfterThirdFriday = DATEADD(DAY, 3, quote_date)
FROM table
WHERE  datename(weekday, quote_date) = 'Friday'
AND datepart(day, quote_date)>=15 
AND datepart(day, quote_date)<=21;
Run Code Online (Sandbox Code Playgroud)