Heim >Datenbank >MySQL-Tutorial >Wie konvertiert man UTC-Datetime-Spalten in SQL-Select-Anweisungen in Ortszeit?
Beim Ausführen von SQL-Select-Abfragen kann es zur Vereinfachung erforderlich sein, UTC-Datetime-Spalten in Ortszeit zu konvertieren Interpretation und Darstellung. Diese Konvertierung kann durchgeführt werden, ohne die Datenbank zu ändern oder externen Code zu verwenden.
In SQL Server 2008 oder höher kann die folgende Syntax verwendet werden:
SELECT CONVERT(datetime, SWITCHOFFSET(CONVERT(datetimeoffset, MyTable.UtcColumn), DATENAME(TzOffset, SYSDATETIMEOFFSET()))) AS ColumnInLocalTime FROM MyTable
Eine kürzere Alternative ist:
SELECT DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), MyTable.UtcColumn) AS ColumnInLocalTime FROM MyTable
Es ist wichtig Vermeiden Sie die Verwendung der Subtraktion (-) zur Berechnung von Datumsunterschieden, da dieser Ansatz aufgrund nicht-atomarer Operationen zu ungenauen Ergebnissen führen kann.
Die bereitgestellten Methoden berücksichtigen nicht die Sommerzeit (Sommerzeit). Wenn eine Sommerzeitanpassung erforderlich ist, lesen Sie die folgende Frage:
Das obige ist der detaillierte Inhalt vonWie konvertiert man UTC-Datetime-Spalten in SQL-Select-Anweisungen in Ortszeit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!