Todos os produtos
Search
Central de documentação

Realtime Compute for Apache Flink:TO_DATE

Última atualização: Jun 27, 2026

Converte um valor de data do tipo INT ou VARCHAR para o tipo de dados DATE. Se você omitir o parâmetro format, a entrada deverá corresponder ao formato padrão yyyy-MM-dd.

Sintaxe

Date TO_DATE(INT time)
Date TO_DATE(VARCHAR date)
Date TO_DATE(VARCHAR date, VARCHAR format)

Parâmetros

Parâmetro Tipo de dados Descrição
time INT Número de dias decorridos desde a época (epoch time) de 1º de janeiro de 1970, 00:00:00 UTC. Por exemplo, 200 resulta em 1970-07-20.
Nota

Esse comportamento se aplica apenas ao Ververica Runtime (VVR) 8.0.6 e versões posteriores. Nas versões anteriores à 8.0.6, o sistema converte implicitamente o valor para STRING.

date VARCHAR String de data. O formato padrão é yyyy-MM-dd. Exemplo: '2017-09-15'.
format VARCHAR Padrão de formato de data personalizado. Exemplo: 'yyyyMMdd' ou 'MMddyyyy'.

Observações de uso

  • O comportamento do parâmetro time (INT) varia conforme a versão do VVR:

    • VVR 8.0.6 e posterior: time é interpretado como o número de dias desde a época (1º de janeiro de 1970, 00:00:00 UTC).

    • VVR anterior à 8.0.6: time é convertido implicitamente para STRING antes do processamento.

  • Se você omitir o parâmetro format em uma entrada VARCHAR, o sistema aplicará o formato padrão yyyy-MM-dd. Caso os dados de source utilizem outro formato, como MySQL DATETIME (yyyy-MM-dd HH:mm:ss), especifique explicitamente o parâmetro format com o formato real. Caso contrário, a análise falhará e retornará um resultado incorreto, como 1970-01-01.

Exemplos

Os exemplos a seguir utilizam a tabela T1 como fonte de dados.

Tabela T1

date1 (INT)

date2 (VARCHAR)

date3 (VARCHAR)

date4 (VARCHAR)

date5 (VARCHAR)

200

2017-09-15

20170915

09152017

092017

Converter uma entrada INT

Passe um número inteiro que represente a quantidade de dias desde a época.

SELECT TO_DATE(date1) AS var1
FROM T1;

var1 (DATE)

1970-07-20 (VVR 8.0.6 e posterior)

0200-01-01 (VVR anterior à 8.0.6)

Converter uma entrada VARCHAR usando o formato padrão

Se a entrada já estiver no formato yyyy-MM-dd, omita o parâmetro format.

SELECT TO_DATE(date2) AS var2
FROM T1;

var2 (DATE)

2017-09-15

Converter uma entrada VARCHAR usando um formato personalizado

Forneça um padrão format correspondente à estrutura da string de entrada.

SELECT TO_DATE(date3, 'yyyyMMdd') AS var3,
       TO_DATE(date4, 'MMddyyyy') AS var4,
       TO_DATE(date5, 'MMyyyy')   AS var5
FROM T1;

var3 (DATE)

var4 (DATE)

var5 (DATE)

2017-09-15

2017-09-15

2017-09-01

Próximos passos

  • TO_TIMESTAMP_TZ: Converte um valor de data VARCHAR para TIMESTAMP com base em um fuso horário especificado.

  • DATE_ADD: Retorna uma data após adicionar um número específico de dias.