T-SQL顯示周結束數據庫我有一個查詢,按星期分組使用DatePart(ww,[TimeEntryDate])列,它返回週數。我想顯示周結束日期,並像那樣永遠是星期六。當使用DatePart(ww,日期)
下面是完整的查詢
SELECT
DatePart(year , [TimeEntryDate]) [YEAR],
DatePart(ww , [TimeEntryDate]) Week,
CategoryId,
SUM(TimeEntryDuration) "Total Hours"
FROM [TIMETRACKER].[dbo].[aspnet_starterkits_TimeEntry]
GROUP BY DatePart(year , [TimeEntryDate]), DatePart(ww , [TimeEntryDate]) , CategoryId
ORDER BY 1,2,3
data
Year Week Category Total Hours
2010 1 1 10
2010 2 1 12
我可能是錯的,但如果運說,星期六是週末,那麼很明顯星期天是它的初學者因此假設'DATEPART'在週日返回1而不是7是安全的。因此,您對'WeekEnding'的表達應該包含「6 - DATEPART ...」,而不是「7 - ...」。否則,我絕對同意這種做法。 –
@ Andriy-m看起來SQL Server的默認設置爲星期一爲1,星期日爲7,所以表達式仍然有效。它會在SQL語句中產生正確的日期,這對我很有好處。 – Leons
如果美國的大多數系統都是這種情況,週日開始的話,我會感到驚訝。這就是本地化的目的。 –