Wie vergleiche ich eine Epoche Zeit gegenüber 24 Stunden in SQL Server?
-
05-07-2019 - |
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.
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