全部产品
Search
文档中心

Realtime Compute for Apache Flink:DATEDIFF

更新时间:Jun 19, 2025

Topik ini menjelaskan penggunaan fungsi DATEDIFF, yang menghitung selisih antara dua nilai tanggal.

Batasan

Fungsi ini hanya didukung di Realtime Compute for Apache Flink dengan Ververica Runtime (VVR) versi 3.0.0 atau lebih baru.

Sintaks

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

Parameter input

Parameter

Tipe data

startdate

TIMESTAMP atau VARCHAR

enddate

TIMESTAMP atau VARCHAR

null
  • Tanggal dengan tipe VARCHAR harus dalam format yyyy-MM-dd atau yyyy-MM-dd HH:mm:ss.

  • Jika parameter input adalah NULL atau terjadi kesalahan penguraian, hasilnya akan dikembalikan sebagai NULL.

Contoh

  • Data Uji

    datetime1(VARCHAR)

    datetime2(VARCHAR)

    nullstr(VARCHAR)

    2017-10-15 00:00:00

    2017-09-15 00:00:00

    NULL

  • Pernyataan Uji

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

    int1(INT)

    int2(INT)

    int3(INT)

    int4(INT)

    int5(INT)

    int6(INT)

    int7(INT)

    30

    30

    -30

    NULL

    NULL

    NULL

    30