Heim >Datenbank >MySQL-Tutorial >Wie konvertiere ich UTC-Daten in die lokale Zeitzone in MySQL Select Query?

Wie konvertiere ich UTC-Daten in die lokale Zeitzone in MySQL Select Query?

Linda Hamilton
Linda HamiltonOriginal
2024-11-26 04:21:09929Durchsuche

How to Convert UTC Dates to Local Time Zone in MySQL Select Query?

Konvertieren von UTC-Daten in lokale Zeitzone in MySQL Select-Abfrage

Problem

Sie arbeiten mit einer MySQL-Abfrage, die eine Spalte „displaytime“ enthält das Zeitstempel in UTC speichert. Allerdings müssen Sie die Zeitstempel in der lokalen Zeitzone anzeigen. Die Funktion CONVERT_TZ() funktioniert nicht wie erwartet.

Lösung

Um einen UTC-Zeitstempel mit der Funktion CONVERT_TZ() in eine lokale Zeitzone umzuwandeln, müssen Sie die Zeitzonenabkürzungen für beide angeben die UTC- und lokalen Zeitzonen. Die korrekte Syntax lautet wie folgt:

SELECT CONVERT_TZ(displaytime, 'UTC', 'LOCAL')

Beispielabfrage

WHERE displaytime >= '2012-12-01 00:00:00'
AND displaytime <= '2013-02-22 23:59:59'
AND ct.organizationId IN (
  SELECT t.organizationId
  FROM organization_ AS t
  JOIN organization_ AS p ON t.treePath LIKE CONCAT(p.treePath, '%')
  WHERE p.organizationId = 10707
)

Geänderte Abfrage:

WHERE CONVERT_TZ(displaytime, 'UTC', 'LOCAL') >= '2012-12-01 00:00:00'
AND CONVERT_TZ(displaytime, 'UTC', 'LOCAL') <= '2013-02-22 23:59:59'
AND ct.organizationId IN (
  SELECT t.organizationId
  FROM organization_ AS t
  JOIN organization_ AS p ON t.treePath LIKE CONCAT(p.treePath, '%')
  WHERE p.organizationId = 10707
)

Fehlerbehebung

Wenn CONVERT_TZ() nicht funktioniert, kann dies an fehlenden oder leeren Zeitzonentabellen liegen. Sie können die Zeitzonentabellen mit dem Programm mysql_tzinfo_to_sql initialisieren.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich UTC-Daten in die lokale Zeitzone in MySQL Select Query?. 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