全部產品
Search
文件中心

Realtime Compute for Apache Flink:資料類型轉換

更新時間:Jan 16, 2026

Realtime ComputeFlink版在社區Flink SQL資料類型基礎上,新增隱式類型轉換的支援。本文為您介紹類型轉換支援矩陣。

注意事項

  • Realtime ComputeFlink版預設啟用Legacy-Cast行為(包括顯式類型、隱式類型所轉換產生的cast操作)。

    • 參數說明

      table.exec.legacy-cast-behaviour 由社區 Flink 1.15 引入,此參數在顯式轉換類型或隱式類型轉換中會使用到,實現從來源資料類型到目標類型的強制轉換,注意轉換可能產生精度截斷、值溢出、空返回等。為了相容前期版本行為,雲上預設值為enabledApache Flink該參數預設值為disabled

    • 關於CAST

      CAST在轉換異常時預設採用空值處理,不會顯式報錯。在需要嚴格檢查異常值的情境,可以通過設定參數table.exec.legacy-cast-behaviour=disabled讓任務在遇到異常資料轉換時顯式報錯。

    • 關於TRY_CAST

      可以在顯式類型轉換時按需使用,遇到轉換異常時會返回null,不會報錯導致作業失敗。等效於使用CAST時將參數table.exec.legacy-cast-behaviour設定為enabled

  • 對於空值null的使用,建議使用顯式類型轉換的寫法,即cast(null as target_type),如cast(null as varchar),避免出現非預期的轉換結果,如“NULL”字串或轉換異常。

類型轉換支援矩陣

輸入類型\目標類型

null

boolean

tinyint

smallint

int

bigint

decimal

float

double

interval

date

time

timestamp

[var]char

[var]binary

variant

bitmap

null

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

I

boolean

-

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

-

timestamp

-

-

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

-

bitmap

-

-

-

-

-

-

-

-

-

-

-

-

-

E

E

-

I

其中符號含義說明如下:

  • E:只支援顯式類型轉換。

  • I:支援隱式類型轉換。

  • -:不支援類型轉換。

相關文檔

社區支援的SQL資料類型詳情請參見社區Flink SQL資料類型