程序员应该在使用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