Frage

Ich bin mit MS SQL Server 2005, habe ich Termine in Epoche Zeit gespeichert (ab 1970) Ich brauche eine Erklärung zu erstellen, die jeden Datensatz beeinflussen, die nicht in den letzten 24 Stunden aktualisiert hat.

War es hilfreich?

Lösung

Um die aktuelle Datetime in Epoche-Format zu erhalten, verwenden ( über ):

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

Um die Epoche Zeit jetzt bekommen - 24 Stunden verbrauchen:

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

Also, Sie tun können:

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

Andere Tipps

Sie können konvertieren von SQL Server Datetime Epoch Zeit durch die Anzahl der Sekunden berechnen, die seit dem 1. Januar vergangen sind 1970 wie folgt aus.

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

Um Zeilen aus den letzten 24 Stunden zu erhalten ....

Select Columns
From   Table
Where  EpochColumn Between DateDiff(Second, '19700101', GetDate()) And DateDiff(Second, '19700101, GetDate()-1)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top