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!