3

MS SQL Server 2005 を使用しています。エポック時間 (1970 年以降) で日付を保存しています。過去 24 時間に更新されていないレコードに影響を与えるステートメントを作成する必要があります。

4

2 に答える 2

3

現在の日時をエポック形式にするには、( via )を使用します。

SELECT DATEDIFF(s,'19700101 05:00:00:000',GETUTCDATE())

現在のエポック時間を取得するには、24 時間使用します。

SELECT DATEDIFF(s,'19700101 05:00:00:000', DATEADD(DAY, -1, GETUTCDATE()))

したがって、次のことができます。

DECLARE @24_hours_ago AS INT
SELECT @24_hours_ago = DATEDIFF(s,'19700101 05:00:00:000', DATEADD(DAY, -1, GETUTCDATE()))

UPDATE table SET col = value WHERE last_updated < @24_hours_ago
于 2008-10-29T21:44:10.160 に答える
1

このように、1970 年 1 月 1 日から経過した秒数を計算することで、SQL Server の DateTime からエポック時間に変換できます。

Select DateDiff(Second, '19700101', GetDate())

過去 24 時間の行を取得するには....

Select Columns
From   Table
Where  EpochColumn Between DateDiff(Second, '19700101', GetDate()) And DateDiff(Second, '19700101, GetDate()-1)
于 2008-10-29T21:38:35.570 に答える