程序員應該在使用diffdate函數時使用一天還是一週?在我看來,他們的工作原理基本相同。人們可以簡單地使用更適合他們需求的那一種。但是,從這個查詢中,即使日期非常相似,DIFFDATE似乎也得到了不同的結果。 (特別是第3行和第8行)我不明白爲什麼第3行會得到8天,但只有一週,第8行也會得到8行,但只有1周。SQL:在DIFFDATE函數中使用Day或Week?
SELECT OrderDate, ShipDate, DateDiff(week, OrderDate, ShipDate)as week, DateDiff(day, OrderDate, ShipDate) as day
FROM Sales.SalesOrderHeader
Where DateDiff(day, OrderDate, ShipDate) > 7
感謝您回覆我的帖子@GordonLinoff。你的解釋使幫助,我通過鏈接閱讀。也許你可以澄清爲什麼在第3行和第8行會有不同的星期編號 - 因爲OrderDate的天數都是31,他們的ShipDates是第8天。 SQL周是從星期天開始的嗎?或者它是一組7天,並且無關緊要一週中的哪一天? – user3281388 2014-09-26 01:21:28
@ user3281388。 。 。數週開始取決於'DATEFIRST'(請參閱http://msdn.microsoft.com/zh-cn/library/ms174420.aspx)。默認情況是星期一開始。 – 2014-09-26 01:40:59
太好了 - 非常感謝@GordonLinoff的幫助和澄清。我很感激! – user3281388 2014-09-26 01:41:58