SQL:如何获得本周的周日

Ech*_*cho 6 sql date sql-server-2008

我想在任何时间戳给出当周的最后一天(星期日).我尝试了下面的脚本,但它按照我的预期将星期六作为最后一天而不是星期日.

Select DATEADD(DAY , 7-DATEPART(WEEKDAY,GETDATE()),GETDATE()) AS 'Last Day Of Week' 
Run Code Online (Sandbox Code Playgroud)

欢迎任何答案!!

Aar*_*and 13

如果您将标准DATEFIRST从星期日(7)更改为星期一(1),它将起作用:

SET DATEFIRST 1

Select DATEADD(DAY , 7-DATEPART(WEEKDAY,GETDATE()),GETDATE()) AS 'Last Day Of Week' 
Run Code Online (Sandbox Code Playgroud)