Mysql
 sql >> Database >  >> RDS >> Mysql

CONVERT_TZ – Come modificare il fuso orario di MySQL nella query

A volte potrebbe essere necessario convertire il valore dell'ora MySQL da un fuso orario all'altro. Ecco come modificare il fuso orario di MySQL nella query utilizzando la funzione convert_tz().


Convertire il fuso orario nella query MySQL

Useremo la funzione CONVERT_TZ per cambiare il fuso orario di MySQL nella query. Ecco la sintassi della funzione CONVERT_TZ.

convert_tz(value, from_timezone, to_timezone)

Nella funzione precedente, è necessario fornire il valore dell'ora da convertire, il fuso orario da cui si desidera convertire questo valore e il fuso orario in cui si desidera convertirlo.

Puoi specificare i fusi orari come offset o nomi di fuso orario.

Bonus Leggi:Come modificare il fuso orario di MySQL Server


Ecco un esempio per convertire un valore orario letterale da UTC a fuso orario EST, utilizzando gli scostamenti del fuso orario di "+00:00" e "-05:00" rispettivamente per UTC ed EST.

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

Puoi anche specificare i fusi orari invece degli offset. Tuttavia, in questo caso, dovrai scaricare e installare i fusi orari MySQL sul tuo server. Ecco un esempio per convertire EST in fuso orario di Parigi specificando i nomi dei fusi orari invece dei valori di offset.

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

Bonus Lettura:MySQL mostra gli indici nel database


Puoi anche convertire le funzioni di data, ora e data ora di MySQL nella funzione CONVERT_TZ. Ecco un esempio per modificare il fuso orario dell'ora corrente ottenuta utilizzando la funzione NOW(), da 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                 |
+-------------------------------------+

Bonus Leggi:Come confrontare i database MySQL


Allo stesso modo, puoi anche convertire le colonne di data, ora, data e ora usando convert_tz. Ecco un esempio per modificare il fuso orario di data_ordine colonna in vendite tabella, da 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                      |
+------------------------------------------+

Si spera che ora sia possibile modificare il fuso orario MySQL nella query e convertire i valori di data, ora e data e ora da un fuso orario all'altro.

Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!