2012-07-20 56 views
6

我想在給定時間戳的情況下獲取本週的最後一天(週日)。我嘗試了下面的腳本,但它會像我預期的那樣在星期六的最後一天而不是星期天返回。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

回答

11

,如果你從週日(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

相關問題