Mysql
 sql >> Base de données >  >> RDS >> Mysql

CONVERT_TZ - Comment changer le fuseau horaire MySQL dans la requête

Parfois, vous devrez peut-être convertir la valeur de l'heure MySQL d'un fuseau horaire à un autre. Voici comment changer le fuseau horaire MySQL dans une requête à l'aide de la fonction convert_tz().


Convertir le fuseau horaire dans la requête MySQL

Nous utiliserons la fonction CONVERT_TZ pour changer le fuseau horaire MySQL dans la requête. Voici la syntaxe de la fonction CONVERT_TZ.

convert_tz(value, from_timezone, to_timezone)

Dans la fonction ci-dessus, vous devez fournir la valeur horaire à convertir, le fuseau horaire à partir duquel vous souhaitez convertir cette valeur et le fuseau horaire vers lequel vous souhaitez la convertir.

Vous pouvez spécifier des fuseaux horaires sous forme de décalages ou de noms de fuseaux horaires.

Lecture bonus :comment modifier le fuseau horaire du serveur MySQL


Voici un exemple pour convertir une valeur d'heure littérale de UTC en fuseau horaire EST, en utilisant des décalages de fuseau horaire de '+00:00' et '-05:00' pour UTC et EST respectivement.

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

Vous pouvez également spécifier des fuseaux horaires au lieu de décalages. Cependant, dans ce cas, vous devrez télécharger et installer les fuseaux horaires MySQL sur votre serveur. Voici un exemple pour convertir EST en fuseau horaire de Paris en spécifiant des noms de fuseau horaire au lieu de valeurs de décalage.

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

Lecture bonus :MySQL Afficher les index dans la base de données


Vous pouvez également convertir les fonctions de date, d'heure et de date de MySQL dans la fonction CONVERT_TZ. Voici un exemple pour changer le fuseau horaire de l'heure actuelle obtenue à l'aide de la fonction NOW(), de UTC à EST

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

Lecture bonus :Comment comparer les bases de données MySQL


De même, vous pouvez également convertir les colonnes de date, d'heure et de date à l'aide de convert_tz. Voici un exemple pour changer le fuseau horaire de order_date colonne dans ventes tableau, de UTC à 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                      |
+------------------------------------------+

J'espère que vous pouvez maintenant modifier le fuseau horaire MySQL dans la requête et convertir les valeurs de date, d'heure et de date/heure d'un fuseau horaire à un autre.

Ubiq permet de visualiser facilement les données en quelques minutes et de les surveiller dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !