これは簡単だと思いましたが、問題があります。最後のレコードからの秒数の取得
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