有人可以向我解釋這一點,因爲我對這種情況的原因感到困惑嗎?基本上我想知道的是,爲什麼星期日和本週的每隔一天之間有差別,從第0年開始幾周。如果這是有道理的!DateDiff SQL Server問題
我試着設置日期,但沒有效果。毫無疑問,本週的週一至週日應該與零年的週數相同?
Set Datefirst 1
Select DateName(dw,0) --Monday
Select DateDiff(week, 0, '20091109')--Monday: Difference 5732
Select DateDiff(week, 0, '20091114')--Saturday: Difference 5732
Select DateDiff(week, 0, '20091115')--Sunday: Difference 5733
是什麼使這更離奇的是,如果你把兩個相同的日期,日期差異他們,你得到一個星期爲其他的人; 6天。我在這裏錯過了什麼嗎?
Select DateDiff(dd,'20091109','20091115')--6 Days difference
Select DateDiff(ww,'20091109','20091115')--1 Week difference
我使用SQL Server 2005
我認爲你在做些什麼......選擇DateDiff(wk,'20091108','20091114')返回0. – Mayo
這就是原因。在大多數設置中,SQL Server認爲日曆星期是星期日到星期六。 – BBlake
作爲附錄,您可以使用SET DATEFIRST命令設置SQL Server認爲是星期幾的第一天。接着是1(星期一)至7(星期日)。在默認安裝中,這是一個7(星期日) – BBlake