Todos os produtos
Search
Central de documentação

Realtime Compute for Apache Flink:TO_TIMESTAMP_TZ

Última atualização: Jun 27, 2026

Converte uma string de data VARCHAR em um valor TIMESTAMP no fuso horário do ambiente de execução do Flink.

Sintaxe

TIMESTAMP TO_TIMESTAMP_TZ(VARCHAR date, VARCHAR timezone)
TIMESTAMP TO_TIMESTAMP_TZ(VARCHAR date, VARCHAR format, VARCHAR timezone)

A primeira versão analisa date com o formato padrão yyyy-MM-dd HH:mm:ss e interpreta o resultado no timezone especificado.

A segunda versão permite definir um format personalizado para a string de data de entrada antes da conversão de timezone.

Parâmetros de entrada

Parâmetro

Tipo de dados

Descrição

date

VARCHAR

String de data de entrada.

format

VARCHAR

Formato da string de data de entrada. Valor padrão: yyyy-MM-dd HH:mm:ss. Aplica-se apenas à segunda sobrecarga.

timezone

VARCHAR

Fuso horário da data de entrada, definido por um nome de fuso horário IANA (por exemplo, Asia/Shanghai ou America/New_York). Valores não padrão fazem o parâmetro assumir UTC.

Observações de uso

  • Use nomes de fuso horário IANA no parâmetro timezone. Valores não padrão fazem o parâmetro assumir UTC.

  • O parâmetro format aplica-se somente à segunda sobrecarga. O formato padrão é yyyy-MM-dd HH:mm:ss.

Exemplo

Este exemplo considera que o ambiente de execução do Flink opera no fuso horário Asia/Shanghai (UTC+8).

Dados de teste — Tabela T1

timestamp1 (VARCHAR)

format1 (VARCHAR)

timezone1 (VARCHAR)

1970-01-01 00:00:00

yyyy-MM-dd HH:mm:ss

/

timestamp2 (VARCHAR)

format2 (VARCHAR)

timezone2 (VARCHAR)

1970-01-01 00:00:00

yyyy-MM-dd HH:mm:ss

Asia/Shanghai

timestamp3 (VARCHAR)

format3 (VARCHAR)

timezone3 (VARCHAR)

1970-01-01 00:00:00

yyyy-MM-dd HH:mm:ss

America/New_York

Instrução de teste

SELECT
    TO_TIMESTAMP_TZ(timestamp1, timezone1) AS var1,          -- returns 1970-01-01 08:00:00
    TO_TIMESTAMP_TZ(timestamp2, format2, timezone2) AS var2,  -- returns 1970-01-01 00:00:00
    TO_TIMESTAMP_TZ(timestamp3, format3, timezone3) AS var3   -- returns 1970-01-01 13:00:00
FROM T1;

Resultado do teste

var1 (VARCHAR)

var2 (VARCHAR)

var3 (VARCHAR)

1970-01-01 08:00:00

1970-01-01 00:00:00

1970-01-01 13:00:00

Explicação dos resultados

  • var1: Como timezone1 é / (valor não padrão), a função usa UTC. O ambiente de execução do Flink em Asia/Shanghai (UTC+8) exibe a época UTC 1970-01-01 00:00:00 como 1970-01-01 08:00:00.

  • var2: Como timezone2 é Asia/Shanghai, igual ao fuso horário de execução do Flink, a entrada já está nesse fuso. Assim, o TIMESTAMP permanece inalterado: 1970-01-01 00:00:00.

  • var3: Aqui, timezone3 é America/New_York (UTC-5). A meia-noite em Nova York corresponde a 1970-01-01 05:00:00 UTC. O ambiente de execução do Flink em Asia/Shanghai (UTC+8) exibe esse momento como 1970-01-01 13:00:00.