全部产品
Search
文档中心

Realtime Compute for Apache Flink:Fungsi bawaan Flink CDC

更新时间:Nov 21, 2025

Topik ini menjelaskan fungsi bawaan yang tersedia untuk ekspresi dalam modul transform dari pekerjaan ingesti data Flink CDC.

Fungsi bawaan

Pekerjaan ingesti data Flink CDC menyediakan berbagai fungsi bawaan untuk digunakan dalam ekspresi proyeksi dan filter di dalam modul transform.

Fungsi aritmatika

Fungsi

Deskripsi

numeric1 + numeric2

Mengembalikan jumlah dari numeric1 dan numeric2.

numeric1 - numeric2

Mengembalikan hasil pengurangan numeric2 dari numeric1.

numeric1 * numeric2

Mengembalikan produk dari numeric1 dan numeric2.

numeric1 / numeric2

Mengembalikan hasil pembagian numeric1 oleh numeric2.

numeric1 % numeric2

Mengembalikan sisa pembagian numeric1 oleh numeric2.

ABS(numeric)

Mengembalikan nilai absolut dari numeric.

CEIL(numeric)

Membulatkan numeric ke bilangan bulat terdekat ke atas.

FLOOR(numeric)

Membulatkan numeric ke bilangan bulat terdekat ke bawah.

ROUND(numeric, int)

Membulatkan numeric ke int tempat desimal.

UUID()

Menghasilkan Pengenal Unik Universal (UUID) sebagai string (contohnya, "3d3c68f7-f608-473f-b60c-b0c44ad4cc4e").

UUID dihasilkan menggunakan metode pseudo-acak tipe 4 RFC 4122.

Fungsi waktu

Fungsi

Deskripsi

LOCALTIME

Mengembalikan waktu lokal di zona waktu saat ini. Tipe pengembalian adalah TIME(0).

LOCALTIMESTAMP

Mengembalikan cap waktu lokal di zona waktu saat ini. Tipe pengembalian adalah TIMESTAMP(3).

CURRENT_TIME

Alias untuk LOCALTIME.

CURRENT_DATE

Mengembalikan tanggal lokal di zona waktu saat ini.

CURRENT_TIMESTAMP

Mengembalikan cap waktu lokal di zona waktu saat ini. Tipe pengembalian adalah TIMESTAMP_LTZ(3).

NOW()

Alias untuk CURRENT_TIMESTAMP.

DATE_FORMAT(timestamp, string)

Memformat timestamp input sesuai dengan string format yang ditentukan.

Catatan

String format kompatibel dengan SimpleDateFormat milik Java.

TIMESTAMPADD(timeintervalunit, interval, timepoint)

Menambahkan interval waktu yang ditentukan ke timepoint.

timeintervalunit dapat berupa SECOND, MINUTE, HOUR, DAY, MONTH, atau YEAR.

TIMESTAMPDIFF(timepointunit, timepoint1, timepoint2)

Menghitung perbedaan antara timepoint1 dan timepoint2 dalam timepointunit yang ditentukan.

timepointunit dapat berupa SECOND, MINUTE, HOUR, DAY, MONTH, atau YEAR.

TO_DATE(string1[, string2])

Mengonversi string tanggal string1 ke tipe DATE menggunakan format yang ditentukan dalam string2.

Catatan

Jika string format string2 tidak ditentukan, format default 'yyyy-MM-dd' digunakan.

TO_TIMESTAMP(string1[, string2])

Mengonversi string cap waktu string1 ke tipe TIMESTAMP (tanpa informasi zona waktu) menggunakan format yang ditentukan dalam string2.

Catatan

Jika string format string2 tidak ditentukan, format default 'yyyy-MM-dd HH:mm:ss' digunakan.

FROM_UNIXTIME(numeric[, string])

Mengonversi argumen pertama, yang mewakili jumlah detik sejak 1970-01-01 00:00:00 UTC, menjadi string cap waktu yang diformat, menggunakan format yang ditentukan dalam argumen kedua.

Catatan

Jika string format tidak ditentukan, format default 'yyyy-MM-dd HH:mm:ss' digunakan.

UNIX_TIMESTAMP()

Mengembalikan stempel waktu UNIX saat ini dalam detik.

UNIX_TIMESTAMP(string1[, string2])

Mengonversi string tanggal-waktu string1 menjadi stempel waktu UNIX (dalam detik), menggunakan format yang ditentukan oleh string2. Jika string2 tidak ditentukan, format default 'yyyy-MM-dd HH:mm:ss' digunakan.

Catatan

Semua sub-ekspresi yang memanggil fungsi waktu dalam ekspresi proyeksi dan filter akan berbagi nilai waktu yang sama. Sebagai contoh, dalam NOW() AS t1, NOW() AS t2, NOW() AS t3, nilai dari t1, t2, dan t3 akan identik, terlepas dari waktu evaluasi atau urutan.

Fungsi string

Fungsi

Deskripsi

string1 || string2

Menggabungkan string1 dan string2.

Catatan

Operator ini berbeda dari operator logika OR.

CHAR_LENGTH(string)

Mengembalikan jumlah karakter dalam string.

UPPER(string)

Mengembalikan versi huruf besar dari string.

LOWER(string)

Mengembalikan versi huruf kecil dari string.

TRIM(string1)

Menghapus karakter spasi putih di awal dan akhir dari string1.

REGEXP_REPLACE(string1, string2, string3)

Mengganti semua substring dalam string1 yang cocok dengan pola string2 dengan string3.

Sebagai contoh, REGEXP_REPLACE('foobar', 'oo|ar', '__') menghasilkan f__b__.

SUBSTRING(string FROM integer1 [ FOR integer2 ])

Mengembalikan substring dari string mulai dari indeks integer1 dengan panjang integer2.

Catatan

Jika klausa FOR integer2 tidak diberikan, substring meluas hingga akhir string.

CONCAT(string1, string2,…)

Menggabungkan dua atau lebih string.

Sebagai contoh, CONCAT('AA', 'BB', 'CC') menghasilkan AABBCC.

Fungsi pengecoran tipe

Gunakan sintaksis CAST(<expression> AS <type>) untuk pengecoran tipe eksplisit. Konversi berikut saat ini didukung:

Tipe sumber

Tipe target

Deskripsi

Any

VARCHAR

Penting

Saat ini Anda tidak dapat menggunakan STRING sebagai tipe target. Gunakan tipe VARCHAR yang setara sebagai gantinya.

Mengonversi tipe data apa pun menjadi string.

NUMERIC

STRING

BOOLEAN

Mengonversi literal numerik bukan nol atau literal string selain 'FALSE' menjadi TRUE.

NUMERIC

STRING

TINYINT

Memotong hasil agar sesuai dalam rentang -128 hingga 127.

NUMERIC

STRING

SMALLINT

Memotong hasil agar sesuai dalam rentang -32768 hingga 32767.

NUMERIC

STRING

INTEGER

Memotong hasil agar sesuai dalam rentang -2147483648 hingga 2147483647.

NUMERIC

STRING

BIGINT

Memotong hasil agar sesuai dalam rentang -9223372036854775808 hingga 9223372036854775807.

NUMERIC

STRING

FLOAT

NUMERIC

DOUBLE

NUMERIC

DECIMAL

STRING

TIMESTAMP_TZ

TIMESTAMP_LTZ

TIMESTAMP

String harus dalam format ISO_LOCAL_DATE_TIME yang valid.

Fungsi perbandingan

Catatan

Jika parameter input apa pun adalah NULL, fungsi-fungsi ini mengembalikan NULL kecuali dinyatakan lain.

Fungsi

Deskripsi

value1 = value2

Mengembalikan TRUE jika value1 sama dengan value2; jika tidak, mengembalikan FALSE.

value1 <> value2

Mengembalikan TRUE jika value1 tidak sama dengan value2; jika tidak, mengembalikan FALSE.

value1 > value2

Mengembalikan TRUE jika value1 lebih besar dari value2; jika tidak, mengembalikan FALSE.

value1 >= value2

Mengembalikan TRUE jika value1 lebih besar dari atau sama dengan value2; jika tidak, mengembalikan FALSE.

value1 < value2

Mengembalikan TRUE jika value1 kurang dari value2; jika tidak, mengembalikan FALSE.

value1 <= value2

Mengembalikan TRUE jika value1 kurang dari atau sama dengan value2; jika tidak, mengembalikan FALSE.

value IS NULL

Mengembalikan TRUE jika value adalah NULL; jika tidak, mengembalikan FALSE.

value IS NOT NULL

Mengembalikan TRUE jika value bukan NULL; jika tidak, mengembalikan FALSE.

value1 BETWEEN value2 AND value3

Mengembalikan TRUE jika value1 berada di antara value2 dan value3; jika tidak, mengembalikan FALSE.

value1 NOT BETWEEN value2 AND value3

Mengembalikan TRUE jika value1 tidak berada di antara value2 dan value3; jika tidak, mengembalikan FALSE.

string1 LIKE string2

Mengembalikan TRUE jika string1 cocok dengan pola yang didefinisikan dalam string2; jika tidak, mengembalikan FALSE.

string1 NOT LIKE string2

Mengembalikan TRUE jika string1 tidak cocok dengan pola yang didefinisikan dalam string2; jika tidak, mengembalikan FALSE.

value1 IN (value2 [, value3]* )

Mengembalikan TRUE jika value1 ada dalam daftar [value2, value3, ...]; jika tidak, mengembalikan FALSE.

value1 NOT IN (value2 [, value3]* )

Mengembalikan TRUE jika value1 tidak ada dalam daftar [value2, value3, ...]; jika tidak, mengembalikan FALSE.

Fungsi logika

Fungsi

Deskripsi

boolean1 OR boolean2

Mengembalikan TRUE jika setidaknya salah satu dari boolean1 atau boolean2 adalah TRUE.

boolean1 AND boolean2

Mengembalikan TRUE jika kedua boolean1 dan boolean2 adalah TRUE.

NOT boolean

Membalikkan nilai boolean.

boolean IS FALSE

Mengembalikan TRUE jika boolean adalah FALSE; jika tidak, mengembalikan FALSE.

boolean IS NOT FALSE

Mengembalikan TRUE jika boolean bukan FALSE; jika tidak, mengembalikan FALSE.

boolean IS TRUE

Mengembalikan TRUE jika boolean adalah TRUE; jika tidak, mengembalikan FALSE.

boolean IS NOT TRUE

Mengembalikan TRUE jika boolean bukan TRUE; jika tidak, mengembalikan FALSE.

Fungsi kondisional

Fungsi

Deskripsi

CASE value WHEN value1_1 [, value1_2]* THEN RESULT1 (WHEN value2_1 [, value2_2 ]* THEN result_2)* (ELSE result_z) END

Secara berurutan memeriksa apakah value sama dengan nilai-nilai yang diberikan dalam klausa WHEN dan mengembalikan result dari klausa pertama yang cocok.

Jika tidak ada kondisi klausa yang terpenuhi, maka mengembalikan nilai yang ditentukan dalam klausa ELSE. Jika klausa ELSE tidak ditentukan, maka mengembalikan NULL.

CASE WHEN condition1 THEN result1 (WHEN condition2 THEN result2)* (ELSE result_z) END

Secara berurutan mengevaluasi kondisi dalam setiap klausa WHEN dan mengembalikan result dari klausa WHEN pertama yang kondisinya benar.

Jika tidak ada kondisi klausa yang terpenuhi, maka mengembalikan nilai yang ditentukan dalam klausa ELSE. Jika klausa ELSE tidak ditentukan, maka mengembalikan NULL.

COALESCE(value1 [, value2]*)

Mengembalikan nilai non-NULL pertama dalam daftar [value1, value2, ...]. Jika semua nilai adalah NULL, maka mengembalikan NULL.

IF(condition, true_value, false_value)

Jika condition benar, mengembalikan true_value; jika tidak, mengembalikan false_value.