Stunden von einem MySQL-Datums-/Uhrzeitfeld subtrahieren
Beim Umgang mit Datums- und Zeitdaten in MySQL ist es oft notwendig, Zeitwerte zu manipulieren, um sie zu berücksichtigen für Zeitzonen oder Zeitunterschiede. In dieser Frage wird untersucht, wie man mit den integrierten Funktionen von MySQL Stunden von einem Datum/Uhrzeit-Feld subtrahiert.
MySQLs Lösung: DATE_SUB()
MySQL stellt speziell die Funktion DATE_SUB() bereit zum Subtrahieren eines angegebenen Intervalls von einem Datum/Uhrzeit-Wert. In diesem Fall können Sie zum Subtrahieren von 3 Stunden vom Datum/Uhrzeit-Feld die folgende Abfrage verwenden:
SELECT DATE_SUB(x.date_entered, INTERVAL 3 HOUR) AS date FROM x ORDER BY date ASC;
Alternativer Ansatz: Beheben von Zeitzonenproblemen
Während der Verwendung DATE_SUB() ist eine gültige Lösung. Es lohnt sich zu überlegen, ob stattdessen das zugrunde liegende Zeitzonenproblem gelöst werden kann. Zeitzonenunterschiede können zu Verwirrung und Fehlern führen, wenn sie nicht richtig gehandhabt werden.
Ein möglicher Ansatz besteht darin, sicherzustellen, dass das Datum/Uhrzeit-Feld in einer konsistenten Zeitzone gespeichert wird. Dies kann erreicht werden, indem die Systemvariable time_zone gesetzt oder die Zeitzone explizit in der Abfrage angegeben wird. Zum Beispiel:
SET time_zone = 'America/Los_Angeles'; SELECT DATE_FORMAT(x.date_entered, '%Y-%m-%d') AS date FROM x ORDER BY date ASC;
Dieser Ansatz hilft, Zeitzonenunterschiede zu beseitigen und bietet eine genauere Darstellung der Datums-/Uhrzeitwerte.
Das obige ist der detaillierte Inhalt vonWie subtrahiere ich Stunden von einem MySQL-DATETIME-Feld?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!