2011-03-26 66 views
0

我很難理解函數DATEDIFF。當查詢SQL Server:瞭解DATEDIFF函數

SELECT DATEDIFF(YEAR, 0, getdate()) 

我得到當年和1900年造成111我認爲,開始時間應該是時間的差異,並不像0整數如何0可以用嗎?爲什麼在1900年的開始年,而不是1753年,因爲它應該是格式是日期時間?

回答

1

它工作在日期時間,因爲到1月1日1900年

爲什麼不1900的0隱式轉換?爲什麼0 = 1899年12月31日爲MS Access?爲什麼1970年1月1日的unix時間戳?

1753也是相當隨意的:它是格里曆日曆的主要切換,但它不一致。 SQL Server 2008也可以追溯到0001年1月01日,也有更新的類型。