Todos los productos
Search
Centro de documentos

Realtime Compute for Apache Flink:DATEDIFF

Última actualización: Sep 03, 2026

Devuelve el número de días entre dos fechas como enddate - startdate.

Límites

Compatible únicamente con Realtime Compute for Apache Flink que usa Ververica Runtime (VVR) 3.0.0 o versiones posteriores.

Sintaxis

INT DATEDIFF(VARCHAR enddate, VARCHAR startdate)
INT DATEDIFF(TIMESTAMP enddate, VARCHAR startdate)
INT DATEDIFF(VARCHAR enddate, TIMESTAMP startdate)
INT DATEDIFF(TIMESTAMP enddate, TIMESTAMP startdate)

Parámetros

Parámetro

Tipo de dato

enddate

TIMESTAMP o VARCHAR

startdate

TIMESTAMP o VARCHAR

El resultado equivale a enddate - startdate . Si enddate es anterior a startdate , el resultado es negativo.

Formatos de fecha VARCHAR: yyyy-MM-dd o yyyy-MM-dd HH:mm:ss.

Valor devuelto

Valor INT que representa el número de días desde startdate hasta enddate. Devuelve NULL si alguna entrada es NULL o si ocurre un error de análisis sintáctico.

Ejemplo

SELECT
  DATEDIFF(datetime1, datetime2)                                            AS int1,  -- 30
  DATEDIFF(TIMESTAMP '2017-10-15 23:00:00', datetime2)                     AS int2,  -- 30
  DATEDIFF(datetime2, TIMESTAMP '2017-10-15 23:00:00')                     AS int3,  -- -30
  DATEDIFF(datetime2, nullstr)                                              AS int4,  -- NULL
  DATEDIFF(nullstr, TIMESTAMP '2017-10-15 23:00:00')                       AS int5,  -- NULL
  DATEDIFF(nullstr, datetime2)                                              AS int6,  -- NULL
  DATEDIFF(TIMESTAMP '2017-10-15 23:00:00', TIMESTAMP '2017-9-15 00:00:00') AS int7  -- 30
FROM T1;

Datos de prueba:

datetime1 (VARCHAR)

datetime2 (VARCHAR)

nullstr (VARCHAR)

2017-10-15 00:00:00

2017-09-15 00:00:00

NULL