すべてのプロダクト
Search
ドキュメントセンター

Realtime Compute for Apache Flink:DATEDIFF

最終更新日:Jan 07, 2025

このトピックでは、DATEDIFF関数の使用方法について説明します。この関数は、2つの日付値の差を計算します。

制限事項

この関数は、Ververica Runtime(VVR) 3.0.0以降を使用するRealtime Compute for Apache Flinkでのみサポートされています。

構文

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

入力パラメーター

パラメーター

データ型

startdate

TIMESTAMPまたはVARCHAR

enddate

TIMESTAMPまたはVARCHAR

説明
  • VARCHAR型の日付は、yyyy-MM-dd または yyyy-MM-dd HH:mm:ss 形式です。

  • 入力パラメーターがNULLの場合、または解析エラーが発生した場合は、NULLが返されます。

  • テストデータ

    datetime1(VARCHAR)

    datetime2(VARCHAR)

    nullstr(VARCHAR)

    2017-10-15 00:00:00

    2017-09-15 00:00:00

    NULL

  • テストステートメント

    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;
  • テスト結果

    int1(INT)

    int2(INT)

    int3(INT)

    int4(INT)

    int5(INT)

    int6(INT)

    int7(INT)

    30

    30

    -30

    NULL

    NULL

    NULL

    30