SQL Server:DATEDIFF开始和结束日期

时间:2015-07-02 12:07:42

标签: sql-server tsql

对于以下查询,我得到100的正值。为什么?我期待-100

SELECT DATEDIFF(SECOND, GETUTCDATE(), DATEADD(SECOND, 100, GETUTCDATE()))

在MSDN中的文档here中,DATEDIFF功能的格式低于

DATEDIFF (datepart, startdate, enddate)

所以,我不确定我错过了什么。

2 个答案:

答案 0 :(得分:4)

嗯,这是因为时间从一个方向“流动”,从较旧的日期到最近的日期。

因此,假设startdate相当于“天以来”,而enddate相当于“直到天”,这是正常的。

这样,想要查看较旧日期与较近日期之间的时间/日期差异将产生正数(因为“时间流”)是有意义的。否则,你正在进行“相反的流动”,你将获得一个负数。

答案 1 :(得分:2)

它比较第二个相对于第一个日期的大小。因此,第二个日期大于100秒就是您收到答案的原因。

供参考:http://www.w3schools.com/sql/func_datediff.asp