繁体   English   中英

如果一个月的第一天是周末,我怎么能得到下一个星期一?

[英]How can I get the next monday if the first day of a month is in the weekend?

我想在每个月的第一天显示1

我编写了一个每个工作日执行的代码,如果monthly的值等于1 ,那么用户必须执行一些操作。

所以这就是我所做的:

case when @today = DATEADD(month, DATEDIFF(month, 0, @today), 0) then 1 else 0 end 'monthly';

但是现在,我的问题是,如果该月的第一天是周末,用户将看不到1并且不会执行他们的任务。

所以我想要做一个这样的测试:如果这个月的第一天是星期六或星期日,那么在下一个星期一返回。

即使第一天是在周末,用户也会执行他们的每月任务。

但是,我不知道如何用我的 SQL 知识来做到这一点。

这将返回任何一个月的第一个星期一。

declare @YourDate datetime = dateadd(month, -3, getdate())

select dateadd(week, datediff(week, 0, dateadd(day, 6 - datepart(day, @YourDate), @YourDate)), 0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM