Tüm Ürünler
Search
Belge Merkezi

Realtime Compute for Apache Flink:DATEDIFF

Son Güncelleme:Oct 04, 2026

İki tarih arasındaki gün sayısını enddate - startdate formülüne göre döndürür.

Sınırlamalar

Yalnızca Ververica Runtime (VVR) 3.0.0 veya sonraki sürümleri kullanan Realtime Compute for Apache Flink ortamında desteklenir.

Söz dizimi

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

Parametreler

Parametre Veri türü
enddate TIMESTAMP veya VARCHAR
startdate TIMESTAMP veya VARCHAR
Sonuç, enddate - startdate işleminin sonucuna eşittir. enddate değeri startdate değerinden önceyse sonuç negatif olur.

VARCHAR tarih biçimleri: yyyy-MM-dd veya yyyy-MM-dd HH:mm:ss.

Dönüş değeri

startdate ile enddate arasındaki gün sayısını gösteren bir INT değeri döndürür. Girişlerden biri NULL ise veya bir ayrıştırma hatası oluşursa NULL döner.

Örnek

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;

Test verileri:

datetime1 (VARCHAR) datetime2 (VARCHAR) nullstr (VARCHAR)
2017-10-15 00:00:00 2017-09-15 00:00:00 NULL