2013-10-10 187 views
-1

DATEDIFF(datepart,FromDate , Todate)日期差異MS SQL

SELECT DATEDIFF(dayofyear,'2008-08-07','2008-08-09') AS DiffDate 

結果= 2天

哪個日期SQL服務器而計算差FROM日期或今天是排除? 爲什麼7,8和9不是3天?

回答

1

爲了簡單起見,爲自己,你能記得DATEDIFF意見的範圍爲包括「從」日期排除「到」日期。所以,就你的情況而言,只有第七和第八位纔算。

Formally,但是,邏輯描述是這樣的:

返回指定日期部分邊界指定STARTDATE結束日期之間交叉的計數(帶符號的整數)。

多少DAYOFYEAR邊界有2008-08-072008-08-09之間?

  • 2008-08-07 - >2008-08-08
  • 2008-08-08 - >2008-08-09

兩個,因爲它發生。因此你得到的結果。

1

因爲9-72在大多數小數數學系統?

+0

@Ilya這是一個答案。 DateDiff給出了答案2,因爲2是答案。 – podiluska

+0

@伊利亞它是可以空的。 – podiluska

0

你在7th。您需要等幾天才能登錄9th

2