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

Realtime Compute for Apache Flink:TO_DATE

最終更新日:May 07, 2026

INT または VARCHAR 型の日付値を DATE データの型に変換します。format を省略する場合、入力値はデフォルトのフォーマット yyyy-MM-dd に一致している必要があります。

構文

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

パラメーター

パラメーター データの型 説明
time INT 協定世界時 (UTC) でのエポック時間(1970 年 1 月 1 日 00:00:00)からの経過日数です。たとえば、2001970-07-20 になります。
説明

この動作は Ververica Runtime (VVR) 8.0.6 以降でのみ適用されます。VVR 8.0.6 より前のバージョンでは、値が暗黙的に STRING に変換されます。

date VARCHAR 日付文字列です。デフォルトのフォーマットは yyyy-MM-dd です。たとえば、'2017-09-15' です。
format VARCHAR カスタムの日付形式パターンです。たとえば、'yyyyMMdd''MMddyyyy' です。

注意事項

  • time(INT)パラメーターの動作は VVR のバージョンによって異なります。

    • VVR 8.0.6 以降time はエポック(1970 年 1 月 1 日 00:00:00 UTC)からの経過日数として解釈されます。

    • VVR 8.0.6 より前time は処理前に暗黙的に STRING に変換されます。

  • VARCHAR 入力で format パラメーターを省略すると、デフォルトのフォーマット yyyy-MM-dd が適用されます。上流のデータが MySQL DATETIME(yyyy-MM-dd HH:mm:ss)など別のフォーマットを使用している場合は、実際のフォーマットに合わせて format パラメーターを明示的に指定する必要があります。指定しない場合、解析に失敗し、1970-01-01 のような不正確な結果が返されます。

使用例

以下の例では、テーブル T1 をデータソースとして使用します。

テーブル T1

date1 (INT) date2 (VARCHAR) date3 (VARCHAR) date4 (VARCHAR) date5 (VARCHAR)
200 2017-09-15 20170915 09152017 092017

INT 入力の変換

エポックからの経過日数を表す整数を渡します。

SELECT TO_DATE(date1) AS var1
FROM T1;
var1 (DATE)
1970-07-20 (VVR 8.0.6 以降)
0200-01-01 (VVR 8.0.6 より前)

デフォルトフォーマットを使用した VARCHAR 入力の変換

入力がすでに yyyy-MM-dd フォーマットの場合、format パラメーターを省略します。

SELECT TO_DATE(date2) AS var2
FROM T1;
var2 (DATE)
2017-09-15

カスタムフォーマットを使用した VARCHAR 入力の変換

入力文字列の構造に一致する format パターンを渡します。

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

次のステップ

  • TO_TIMESTAMP_TZ:指定されたタイムゾーンに基づいて VARCHAR 日付値を TIMESTAMP に変換します。

  • DATE_ADD:指定された日数を加算した後の日付を返します。