2
我想输入一个日期并让它返回该星期一,但在我的公司,星期一从星期一开始到星期日结束。我尝试使用SET DATEFIRST 1
将星期一定为一周的第一天,但这对周日并没有帮助。SQL:返回星期一不工作在星期日
代码:
DECLARE @proddate datetime = '6/12/2016'
SET DATEFIRST 1; SELECT DATEADD(wk, DATEDIFF(wk,0,@proddate), 0) MondayOfWeek
回报:
6/9/2016 -> 6/6/2016
6/12/2016 -> 6/13/2016 (should be 6/6/2016)
这工作,我已经在我的代码来实现它。顺便说一句,你碰巧知道我的原代码有什么问题吗? – whatwhatwhat
您的代码对于正常使用非常有用,这种方式对DATEFIRST语句更为敏感。 TBH我通常会自己使用你的原始代码.. – Mack
有一个很好的答案[这里](http://stackoverflow.com/questions/7168874/get-first-day-of-week-in-sql-server)解释为什么这个工作。 – Mack