sql >> Base de Datos >  >> RDS >> Mysql

CONVERT_TZ – Cómo cambiar la zona horaria de MySQL en la consulta

A veces, es posible que necesite convertir el valor de tiempo de MySQL de una zona horaria a otra. Aquí se explica cómo cambiar la zona horaria de MySQL en la consulta mediante la función convert_tz().


Convertir zona horaria en consulta MySQL

Usaremos la función CONVERT_TZ para cambiar la zona horaria de MySQL en la consulta. Esta es la sintaxis de la función CONVERT_TZ.

convert_tz(value, from_timezone, to_timezone)

En la función anterior, debe proporcionar el valor de tiempo que desea convertir, la zona horaria desde la que desea convertir este valor y la zona horaria a la que desea convertirlo.

Puede especificar zonas horarias como compensaciones o nombres de zonas horarias.

Lectura adicional:Cómo cambiar la zona horaria del servidor MySQL


Aquí hay un ejemplo para convertir un valor de tiempo literal de UTC a la zona horaria EST, usando compensaciones de zona horaria de '+00:00' y '-05:00' para UTC y EST respectivamente.

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                                 |
+-----------------------------------------------------+

También puede especificar zonas horarias en lugar de compensaciones. Sin embargo, en este caso, deberá descargar e instalar las zonas horarias de MySQL en su servidor. Aquí hay un ejemplo para convertir EST a la zona horaria de París especificando nombres de zonas horarias en lugar de valores de compensación.

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

Lectura adicional:MySQL Mostrar índices en la base de datos


También puede convertir las funciones de fecha, hora y fecha y hora de MySQL en la función CONVERT_TZ. Aquí hay un ejemplo para cambiar la zona horaria de la hora actual obtenida usando la función NOW(), de UTC a EST

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

Lectura adicional:Cómo comparar bases de datos MySQL


Del mismo modo, también puede convertir columnas de fecha, hora y fecha y hora usando convert_tz. Aquí hay un ejemplo para cambiar la zona horaria de order_date columna en ventas tabla, de UTC a 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                      |
+------------------------------------------+

Con suerte, ahora puede cambiar la zona horaria de MySQL en la consulta y convertir los valores de fecha, hora y fecha y hora de una zona horaria a otra.

Ubiq facilita la visualización de datos en minutos y el monitoreo en paneles en tiempo real. ¡Pruébalo hoy!