Ich habe zwei Fragen zum Abfragen von Daten in SQL, die Epochenzeitstempel verwendet. Ich bin in der Lage das Datum in meiner SELECT-Anweisung mit diesem Text zu konvertieren:SQL Epoch Time "Where" Anweisung
DATEADD(HOUR, -4, DATEADD(SECOND, aa.fldTimeOfEvent, '1970-01-01 00:00:00'))
ich die „Stunde, -4“ verwenden, musste es Eastern Sommerzeit zu konvertieren. Ich bin gespannt, ob ich das im November auf -5 einstellen muss, wenn die Sommerzeit endet? Gibt es eine Möglichkeit, die SELECT-Anweisung so zu formulieren, dass sie sich automatisch an die Sommerzeit anpasst? Dies wird Teil eines automatisierten Berichts sein, und ich fürchte, wir können diesen Wert möglicherweise nicht ändern.
Eine weitere Frage ist, wie Sie die WHERE-Anweisung verwenden, um Daten für einen bestimmten Tag zu erhalten. Zum Beispiel, wenn ich wollte, dass die WHERE-Anweisung alle Einträge erfasst, die heute (14.7.16) auftraten, wie würde ich das tun? Ich habe diese Aussage versucht:
WHERE DATEADD(HOUR, -4, DATEADD(SECOND, aa.fldTimeOfEvent, '1970-01-01 00:00:00')) = '2016-07-14'
Es scheint nur, um die Einträge zu ergreifen, die bis Mitternacht dieses Tages genau gleich sind (glaube ich). Ich möchte alle Einträge, die zu irgendeinem Zeitpunkt am Tag aufgetreten sind.
Vielen Dank im Voraus für Ihre Hilfe.
Sie könnten GetUTCDate() verwenden, um den aktuellen Offset zu berechnen, anstatt ihn hart zu codieren. 'SELECT DATEDIFF (Stunde, GetUTCDate(), GETDATE())' --Assuming SQL Server –
Verwenden Sie SQL Server? Wenn ja, füge diesen Tag bitte zu deiner Frage hinzu. –
Möglicherweise müssen Sie [eine benutzerdefinierte Funktion erstellen] (http://stackoverflow.com/questions/19732896/how-to-create-daylight-savings-time-start-and-end-function-in-sql-server) Sommerzeit zu behandeln. –