2011-03-26 63 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日,也有更新的类型。