Mysql
 sql >> Datenbank >  >> RDS >> Mysql

CONVERT_TZ – So ändern Sie die MySQL-Zeitzone in der Abfrage

Manchmal müssen Sie möglicherweise den MySQL-Zeitwert von einer Zeitzone in eine andere konvertieren. So ändern Sie die MySQL-Zeitzone in der Abfrage mit der Funktion convert_tz().


Zeitzone in MySQL-Abfrage konvertieren

Wir werden die Funktion CONVERT_TZ verwenden, um die MySQL-Zeitzone in der Abfrage zu ändern. Hier ist die Syntax der Funktion CONVERT_TZ.

convert_tz(value, from_timezone, to_timezone)

In der obigen Funktion müssen Sie den umzurechnenden Zeitwert, die Zeitzone, aus der Sie diesen Wert umrechnen möchten, und die Zeitzone, in die Sie ihn umwandeln möchten, angeben.

Sie können Zeitzonen als Offsets oder Zeitzonennamen angeben.

Bonuslektüre:So ändern Sie die Zeitzone des MySQL-Servers


Hier ist ein Beispiel für die Konvertierung eines wörtlichen Zeitwerts von der UTC- in die EST-Zeitzone, wobei die Zeitzonen-Offsets „+00:00“ und „-05:00“ für UTC bzw. EST verwendet werden.

mysql> select convert_tz('2020-09-17 03:00:00','+00:00','-05:00');
+-----------------------------------------------------+
| convert_tz('2020-09-17 03:00:00','+00:00','-05:00') |
+-----------------------------------------------------+
| 2020-09-16 22:00:00                                 |
+-----------------------------------------------------+

Anstelle von Offsets können Sie auch Zeitzonen angeben. In diesem Fall müssen Sie jedoch MySQL-Zeitzonen auf Ihren Server herunterladen und installieren. Hier ist ein Beispiel zum Konvertieren von EST in die Pariser Zeitzone durch Angabe von Zeitzonennamen anstelle von Offset-Werten.

mysql> select convert_tz('2020-09-17 03:00:00','US/Eastern','Europe/Paris');

Bonus-Lesetext:MySQL zeigt Indizes in der Datenbank an


Sie können auch MySQL-Datums-, Zeit- und Datumszeitfunktionen in der CONVERT_TZ-Funktion konvertieren. Hier ist ein Beispiel zum Ändern der Zeitzone der aktuellen Zeit, die mit der Funktion NOW() erhalten wurde, von UTC zu EST

mysql> select convert_tz(now(),'+00:00','-05:00');
+-------------------------------------+
| convert_tz(now(),'+00:00','-05:00') |
+-------------------------------------+
| 2020-09-17 04:45:07                 |
+-------------------------------------+

Bonuslektüre:Wie man MySQL-Datenbanken vergleicht


In ähnlicher Weise können Sie mit convert_tz auch Datums-, Zeit- und Datumszeitspalten konvertieren. Hier ist ein Beispiel zum Ändern der Zeitzone von order_date Spalte in Verkauf Tabelle, von UTC bis EST

mysql> select convert_tz(order_date,'+00:00','-05:00') from sales;
+------------------------------------------+
| convert_tz(order_date,'+00:00','-05:00') |
+------------------------------------------+
| 2020-05-03 19:00:00                      |
| 2020-05-04 19:00:00                      |
| 2020-05-05 19:00:00                      |
| ...                                      |
| 2020-05-13 19:00:00                      |
+------------------------------------------+

Hoffentlich können Sie jetzt die MySQL-Zeitzone in der Abfrage ändern und Datums-, Zeit- und Datumszeitwerte von einer Zeitzone in eine andere konvertieren.

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!