Todos los productos
Search
Centro de documentos

Realtime Compute for Apache Flink:TO_DATE

Última actualización: Sep 03, 2026

Convierte un valor de fecha de INT o VARCHAR al tipo de dato DATE. Cuando se omite format, la entrada debe coincidir con el formato predeterminado yyyy-MM-dd.

Sintaxis

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

Parámetros

Parámetro Tipo de dato Descripción
time INT Número de días transcurridos from la época (1 de enero de 1970, 00:00:00 UTC). Por ejemplo, 200 se resuelve como 1970-07-20.
Nota

Este comportamiento aplica únicamente a Ververica Runtime (VVR) 8.0.6 y versiones posteriores. En versiones de VVR anteriores a la 8.0.6, el valor se convierte implícitamente a STRING.

date VARCHAR Cadena de fecha. El formato predeterminado es yyyy-MM-dd. Por ejemplo, '2017-09-15'.
format VARCHAR Patrón de formato de fecha personalizado. Por ejemplo, 'yyyyMMdd' o 'MMddyyyy'.

Notas de uso

  • El comportamiento del parámetro time (INT) varía según la versión de VVR:

    • VVR 8.0.6 y posteriores: time se interpreta como el número de días transcurridos from la época (1 de enero de 1970, 00:00:00 UTC).

    • VVR anteriores a la 8.0.6: time se convierte implícitamente a STRING antes de procesarse.

  • Si se omite el parámetro format con una entrada VARCHAR, se aplica el formato predeterminado yyyy-MM-dd. Si los datos de origen usan un formato diferente, como DATETIME de MySQL (yyyy-MM-dd HH:mm:ss), debe especificar explícitamente el parámetro format con el formato real. De lo contrario, el análisis falla y devuelve un resultado incorrecto como 1970-01-01.

Ejemplos

A continuación se presentan ejemplos que utilizan la tabla T1 como origen de datos.

Tabla T1

date1 (INT)

date2 (VARCHAR)

date3 (VARCHAR)

date4 (VARCHAR)

date5 (VARCHAR)

200

2017-09-15

20170915

09152017

092017

Convertir una entrada INT

Pase un entero que represente el número de días transcurridos from la época.

SELECT TO_DATE(date1) AS var1
FROM T1;

var1 (DATE)

1970-07-20 (VVR 8.0.6 y posteriores)

0200-01-01 (VVR anteriores a la 8.0.6)

Convertir una entrada VARCHAR con el formato predeterminado

Cuando la entrada ya tiene el formato yyyy-MM-dd, omita el parámetro format.

SELECT TO_DATE(date2) AS var2
FROM T1;

var2 (DATE)

2017-09-15

Convertir una entrada VARCHAR con un formato personalizado

Especifique un patrón format que coincida con la estructura de la cadena 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

Pasos siguientes

  • TO_TIMESTAMP_TZ: Convierte un valor de fecha VARCHAR a TIMESTAMP según una zona horaria especificada.

  • DATE_ADD: Devuelve una fecha tras sumar un número específico de días.