SQL:如何获得当周的星期日

问题描述:

我想在给定时间戳的情况下获取本周的最后一天(周日)。我尝试了下面的脚本,但它会像我预期的那样在星期六的最后一天而不是星期天返回。SQL:如何获得当周的星期日

Select DATEADD(DAY , 7-DATEPART(WEEKDAY,GETDATE()),GETDATE()) AS 'Last Day Of Week' 

任何答案是欢迎的!

+0

所以,你想一周要周一 - >周日? SQL Server中的默认值是星期日 - >星期六。 – 2012-07-20 13:58:34

+0

另请参阅此 http://weblogs.sqlteam.com/peterl/archive/2009/06/17/How-to-get-the-Nth-weekday-of-a-month.aspx – Madhivanan 2012-07-20 14:04:57

+0

周六是第7天,周在周日开始。 – Gaspa79 2012-07-20 14:55:55

,如果你从周日(7)改变标准DATEFIRST周一(1)将工作:

SET DATEFIRST 1 

Select DATEADD(DAY , 7-DATEPART(WEEKDAY,GETDATE()),GETDATE()) AS 'Last Day Of Week' 
+0

非常感谢! – Echo 2012-07-20 14:00:29

+0

+1你的回答是正确的..我删除了我的答案..它不会在星期日工作..谢谢 – 2012-07-20 14:04:05

前缀的命令set datefirst 1