A função DATE_FORMAT_TZ converte um valor TIMESTAMP em uma string formatada no fuso horário especificado.
Sintaxe
VARCHAR DATE_FORMAT_TZ(TIMESTAMP timestamp, VARCHAR format, VARCHAR timezone)
VARCHAR DATE_FORMAT_TZ(TIMESTAMP timestamp, VARCHAR timezone)
Ambas as formas retornam uma string VARCHAR.
Parâmetros de entrada
|
Parâmetro |
Tipo de dados |
Descrição |
|
|
TIMESTAMP |
Timestamp a converter. |
|
|
VARCHAR |
Formato de data de saída. Exemplo: |
|
|
VARCHAR |
Fuso horário de destino. Exemplo: |
Observações de uso
A função desloca o timestamp para o fuso horário de destino. Por exemplo, a época Unix
0emAsia/Shanghai(UTC+8) torna-se1970-01-01 08:00:00.
Exemplo
Dados de teste
|
timestamp1 (TIMESTAMP) |
format1 (VARCHAR) |
timezone1 (VARCHAR) |
|
0 |
yyyy-MM-dd HH:mm:ss |
Asia/Shanghai |
Instrução de teste
SELECT
DATE_FORMAT_TZ(timestamp1, format1, timezone1) AS var1,
DATE_FORMAT_TZ(timestamp1, timezone1) AS var2
FROM T1;
Resultado do teste
|
var1 (VARCHAR) |
var2 (VARCHAR) |
|
1970-01-01 08:00:00 |
1970-01-01 08:00:00 |
A época Unix 0 corresponde a 1970-01-01 00:00:00 UTC. Com o deslocamento para Asia/Shanghai (UTC+8), o resultado é 1970-01-01 08:00:00.