Heim >Datenbank >MySQL-Tutorial >Wie subtrahiere ich Stunden von einem MySQL-DATETIME-Feld?

Wie subtrahiere ich Stunden von einem MySQL-DATETIME-Feld?

Linda Hamilton
Linda HamiltonOriginal
2024-12-03 06:51:09780Durchsuche

How to Subtract Hours from a MySQL DATETIME Field?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn