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 - numeric2 | Mengembalikan hasil pengurangan |
numeric1 * numeric2 | Mengembalikan produk dari |
numeric1 / numeric2 | Mengembalikan hasil pembagian |
numeric1 % numeric2 | Mengembalikan sisa pembagian |
ABS(numeric) | Mengembalikan nilai absolut dari |
CEIL(numeric) | Membulatkan |
FLOOR(numeric) | Membulatkan |
ROUND(numeric, int) | Membulatkan |
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 |
LOCALTIMESTAMP | Mengembalikan cap waktu lokal di zona waktu saat ini. Tipe pengembalian adalah |
CURRENT_TIME | Alias untuk |
CURRENT_DATE | Mengembalikan tanggal lokal di zona waktu saat ini. |
CURRENT_TIMESTAMP | Mengembalikan cap waktu lokal di zona waktu saat ini. Tipe pengembalian adalah |
NOW() | Alias untuk |
DATE_FORMAT(timestamp, string) | Memformat timestamp input sesuai dengan string format yang ditentukan. Catatan String format kompatibel dengan |
TIMESTAMPADD(timeintervalunit, interval, timepoint) | Menambahkan
|
TIMESTAMPDIFF(timepointunit, timepoint1, timepoint2) | Menghitung perbedaan antara
|
TO_DATE(string1[, string2]) | Mengonversi string tanggal Catatan Jika string format |
TO_TIMESTAMP(string1[, string2]) | Mengonversi string cap waktu Catatan Jika string format |
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 |
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 Catatan Operator ini berbeda dari operator logika OR. |
CHAR_LENGTH(string) | Mengembalikan jumlah karakter dalam |
UPPER(string) | Mengembalikan versi huruf besar dari |
LOWER(string) | Mengembalikan versi huruf kecil dari |
TRIM(string1) | Menghapus karakter spasi putih di awal dan akhir dari |
REGEXP_REPLACE(string1, string2, string3) | Mengganti semua substring dalam Sebagai contoh, |
SUBSTRING(string FROM integer1 [ FOR integer2 ]) | Mengembalikan substring dari Catatan Jika klausa |
CONCAT(string1, string2,…) | Menggabungkan dua atau lebih string. Sebagai contoh, |
Fungsi pengecoran tipe
Gunakan sintaksis CAST(<expression> AS <type>) untuk pengecoran tipe eksplisit. Konversi berikut saat ini didukung:
Tipe sumber | Tipe target | Deskripsi |
Any |
Penting Saat ini Anda tidak dapat menggunakan | Mengonversi tipe data apa pun menjadi string. |
|
| Mengonversi literal numerik bukan nol atau literal string selain 'FALSE' menjadi TRUE. |
|
| Memotong hasil agar sesuai dalam rentang -128 hingga 127. |
|
| Memotong hasil agar sesuai dalam rentang -32768 hingga 32767. |
|
| Memotong hasil agar sesuai dalam rentang -2147483648 hingga 2147483647. |
|
| Memotong hasil agar sesuai dalam rentang -9223372036854775808 hingga 9223372036854775807. |
|
| |
|
| |
|
| |
|
| String harus dalam format ISO_LOCAL_DATE_TIME yang valid. |
Fungsi perbandingan
Jika parameter input apa pun adalah NULL, fungsi-fungsi ini mengembalikan NULL kecuali dinyatakan lain.
Fungsi | Deskripsi |
| Mengembalikan TRUE jika |
value1 <> value2 | Mengembalikan TRUE jika |
value1 > value2 | Mengembalikan TRUE jika |
value1 >= value2 | Mengembalikan TRUE jika |
value1 < value2 | Mengembalikan TRUE jika |
value1 <= value2 | Mengembalikan TRUE jika |
value IS NULL | Mengembalikan TRUE jika |
value IS NOT NULL | Mengembalikan TRUE jika |
value1 BETWEEN value2 AND value3 | Mengembalikan TRUE jika |
value1 NOT BETWEEN value2 AND value3 | Mengembalikan TRUE jika |
string1 LIKE string2 | Mengembalikan TRUE jika |
string1 NOT LIKE string2 | Mengembalikan TRUE jika |
value1 IN (value2 [, value3]* ) | Mengembalikan TRUE jika |
value1 NOT IN (value2 [, value3]* ) | Mengembalikan TRUE jika |
Fungsi logika
Fungsi | Deskripsi |
| Mengembalikan TRUE jika setidaknya salah satu dari |
| Mengembalikan TRUE jika kedua |
NOT boolean | Membalikkan nilai boolean. |
boolean IS FALSE | Mengembalikan TRUE jika |
boolean IS NOT FALSE | Mengembalikan TRUE jika |
boolean IS TRUE | Mengembalikan TRUE jika |
boolean IS NOT TRUE | Mengembalikan TRUE jika |
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 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 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 |
IF(condition, true_value, false_value) | Jika |