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

Realtime Compute for Apache Flink:データ型の変換

最終更新日:Jul 04, 2026

Realtime Compute for Apache Flink は、Apache Flink コミュニティ版の SQL データ型に加えて、暗黙的な型変換もサポートしています。このトピックでは、型変換のサポートマトリックスについて説明します。

注意事項

  • Realtime Compute for Apache Flink は、デフォルトでレガシーキャストの動作を有効にしています。この動作は、明示的な型変換と暗黙的な型変換の両方によって生成されるキャスト操作に適用されます。

    • パラメーターの説明

      table.exec.legacy-cast-behaviour パラメーターは、コミュニティ Flink 1.15 で導入されました。このパラメーターは、明示的および暗黙的な型変換において、ソースデータ型をターゲット型へ強制的に変換するために使用されます。変換によって、精度の切り捨て、値のオーバーフロー、または NULL の返却となる可能性があることにご注意ください。下位互換性のため、本サービスでのデフォルト値は enabled ですが、Apache Flink でのデフォルト値は disabled です。

    • CAST について

      CAST は、デフォルトで変換例外が発生すると NULL 値を返し、明示的なエラーはスローしません。厳密な例外チェックが必要なシナリオでは、table.exec.legacy-cast-behaviour=disabled を設定すると、データ変換に異常が発生した際にジョブが明示的なエラーをスローするようになります。

    • TRY_CAST について

      TRY_CAST は、明示的な型変換で必要に応じて使用できます。変換例外が発生した場合、ジョブを失敗させるエラーはスローせず、NULL を返します。これは、table.exec.legacy-cast-behaviour パラメーターを enabled に設定して CAST を使用することと同等です。

  • NULL 値の場合は、cast(null as target_type) のような明示的な型変換構文を使用してください。例えば、cast(null as varchar) です。これにより、文字列 "NULL" や変換例外といった予期しない変換結果を防ぐことができます。

型変換のサポートマトリックス

入力型\ターゲット型

null

ブール型

tinyint

smallint

int

bigint

decimal

float

double

interval

date

time

タイムスタンプ

[var]char

[var]binary

variant

ビットマップ

image

null

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

ブール型

-

I

E

E

E

E

E

E

E

-

-

-

-

I

-

E

-

-

tinyint

-

E

I

I

I

I

I

I

I

E

-

-

E

I

-

E

-

-

smallint

-

E

I

I

I

I

I

I

I

E

-

-

E

I

-

E

-

-

int

-

E

I

I

I

I

I

I

I

E

-

-

E

I

-

E

-

-

bigint

-

E

I

I

I

I

I

I

I

E

-

-

E

I

-

E

-

-

decimal

-

E

I

I

I

I

I

I

I

E

-

-

E

I

-

E

-

-

float

-

E

I

I

I

I

I

I

I

-

-

-

E

I

-

E

-

-

double

-

E

I

I

I

I

I

I

I

-

-

-

E

I

-

E

-

-

interval

-

-

E

E

E

E

E

-

-

I

-

-

-

E

-

E

-

-

date

-

-

-

-

-

-

-

-

-

-

I

-

I

I

-

E

-

-

time

-

-

-

-

-

-

-

-

-

-

-

I

E

I

-

E

-

-

タイムスタンプ

-

-

E

E

E

E

E

E

E

-

I

E

I

I

-

E

-

-

[var]char

-

E

I

I

I

I

I

I

I

I

I

I

I

I

I

E

-

-

[var]binary

-

-

-

-

-

-

-

-

-

-

E

E

E

I

I

E

-

-

variant

-

E

E

E

E

E

E

E

E

E

E

E

E

E

E

I

-

-

ビットマップ

-

-

-

-

-

-

-

-

-

-

-

-

-

E

E

-

I

-

image

-

-

-

-

-

-

-

-

-

-

-

-

-

E

E

-

-

I

記号の定義は次のとおりです。

  • E :明示的な型変換のみをサポートしています。

  • I :暗黙の型変換をサポートしています。

  • - :型変換はサポートしていません。

参考

Apache Flink コミュニティでサポートされている SQL データ型については、「コミュニティ Flink SQL データ型」をご参照ください。