All Products
Search
Document Center

Realtime Compute for Apache Flink:Konversi Tipe Data

Last Updated:Jul 04, 2026

Selain tipe data SQL Apache Flink komunitas, Realtime Compute for Apache Flink mendukung konversi tipe implisit. Topik ini menjelaskan matriks dukungan konversi tipe.

Pertimbangan

  • Realtime Compute for Apache Flink mengaktifkan perilaku Legacy-Cast secara default, yang berlaku untuk operasi cast yang dihasilkan baik oleh konversi tipe eksplisit maupun implisit.

    • Deskripsi parameter

      Parameter table.exec.legacy-cast-behaviour diperkenalkan di Flink 1.15 komunitas dan digunakan dalam konversi tipe eksplisit maupun implisit untuk memaksa konversi dari tipe data sumber ke tipe target. Perlu diperhatikan bahwa konversi tersebut dapat menyebabkan pemotongan presisi, overflow nilai, atau pengembalian null. Untuk kompatibilitas mundur, nilai default di cloud adalah enabled, sedangkan nilai default di Apache Flink adalah disabled.

    • Tentang CAST

      CAST menangani pengecualian konversi dengan mengembalikan nilai null secara default tanpa melemparkan error eksplisit. Dalam skenario yang memerlukan pemeriksaan pengecualian ketat, Anda dapat mengatur table.exec.legacy-cast-behaviour=disabled agar Pekerjaan melemparkan error eksplisit saat menghadapi konversi data abnormal.

    • Tentang TRY_CAST

      TRY_CAST dapat digunakan sesuai kebutuhan dalam konversi tipe eksplisit. TRY_CAST mengembalikan null ketika terjadi pengecualian konversi tanpa melemparkan error yang menyebabkan kegagalan Pekerjaan. Hal ini setara dengan menggunakan CAST dengan parameter table.exec.legacy-cast-behaviour diatur ke enabled.

  • Untuk nilai null, gunakan sintaks konversi tipe eksplisit seperti cast(null as target_type), misalnya, cast(null as varchar). Pendekatan ini mencegah hasil konversi tak terduga seperti string "NULL" atau pengecualian konversi.

Matriks Dukungan Konversi Tipe

Tipe Input\Tipe Target

null

boolean

tinyint

smallint

int

bigint

decimal

float

double

interval

date

time

timestamp

[var]char

[var]binary

variant

bitmap

image

null

I

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

-

image

-

-

-

-

-

-

-

-

-

-

-

-

-

E

E

-

-

I

Simbol-simbol tersebut didefinisikan sebagai berikut:

  • E: Hanya konversi tipe eksplisit yang didukung.

  • I: Konversi tipe implisit didukung.

  • -: Konversi tipe tidak didukung.

Referensi

Untuk tipe data SQL yang didukung oleh komunitas Apache Flink, lihat Tipe data SQL Flink Komunitas.