Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Exemplos de CONVERT_TZ() – MySQL


No MySQL, você pode converter um valor de data e hora entre um fuso horário para outro usando o CONVERT_TZ() função. Esta função aceita 3 argumentos; o valor datetime, o fuso horário original e o fuso horário para converter.

Sintaxe e exemplos abaixo.


Sintaxe


Aqui está a sintaxe:
CONVERT_TZ(dt,from_tz,to_tz)

Onde dt é a data/hora, from_tz é o fuso horário original e to_tz é o fuso horário para o qual converter.

Exemplo


Aqui está um exemplo de uso.
SELECT CONVERT_TZ('2020-12-01 01:00:00','+00:00','+08:00') AS Result;

Resultado:
+---------------------+
| Result              |
+---------------------+
| 2020-12-01 09:00:00 |
+---------------------+

Fusos horários nomeados


Você também pode usar fusos horários nomeados, como 'US/Eastern' , 'Europe/Moscow' , 'MET' , etc

Para fazer isso, você precisará configurar as tabelas de fuso horário primeiro. O procedimento de instalação do MySQL cria as tabelas de fuso horário, mas não as carrega. Portanto, você precisará preencher essas tabelas primeiro.

Se você tentar usar um fuso horário nomeado com essa função sem primeiro preencher as tabelas de fuso horário, obterá um valor nulo.
SELECT CONVERT_TZ('2020-12-01 01:00:00','Europe/Helsinki','US/Eastern') AS Result;

Resultado:
+--------+
| Result |
+--------+
| NULL   |
+--------+

Observe que, mesmo que você preencha as tabelas de fuso horário, talvez seja necessário atualizá-las periodicamente. Isso ocorre porque as informações podem mudar ocasionalmente. Para obter mais informações sobre isso, consulte MySQL Server Time Zone Support no site de documentação do MySQL.