我認爲這很簡單,但是我有一個問題。正在檢索自上次記錄以來的秒數
SELECT DATEDIFF (s,getdate(), max(TimeCreated)) as difference
FROM Ens.MessageHeader
我的期望是,這將顯示當前時間和最近記錄的時間戳之間的差異。如果我執行它,我會得到類似於15057
這可能是正確的。但是,下次執行它時,它會更低。沒有任何新記錄。現在它在15024
。仍然沒有新的記錄。最近的時間戳是2016-05-13 08:51:16
這個想法是,我可以看這個計數器,當它重置爲零,我知道有一個新的消息。
我錯過了什麼?
更新我增加了一些額外的數據查詢幫忙看看是怎麼回事:
SELECT getDate() as now, max(TimeCreated) as latest, DATEDIFF (s,getdate(), max(TimeCreated)) as difference
FROM Ens.MessageHeader
這裏有兩個結果集:
now latest difference
------------------- ------------------- ----------
2016-05-13 09:50:45 2016-05-13 08:51:16 14431
2016-05-13 09:52:29 2016-05-13 08:51:16 14327
2016-05-13 09:52:50 2016-05-13 08:51:16 14306
當我在自己的具有日期值的表上執行相同的代碼時,我得到一個負數的秒數。 – GendoIkari