All Products
Search
Document Center

DataWorks:Gunakan ekspresi fungsi untuk menetapkan nilai ke bidang tabel tujuan

Last Updated:Jun 21, 2026

DataWorks Data Integration memungkinkan Anda menggunakan ekspresi fungsi untuk menetapkan nilai ke bidang tabel tujuan dalam tugas sinkronisasi real-time seluruh database.

Batasan

Anda dapat menggunakan ekspresi fungsi untuk menentukan penugasan bidang pada tabel tujuan hanya dalam tugas whole-database real-time synchronization yang menggunakan MySQL atau PolarDB sebagai sumber dan MaxCompute atau Hologres sebagai tujuan.

Fungsi dan sintaks yang didukung

Fungsi yang didukung

Nama Fungsi

Deskripsi

Parameter

Contoh ekspresi

CONCAT

Menggabungkan string.

  • Parameter 1...n: Dapat berupa nilai bidang lain (#{col}), variabel bawaan, atau literal string ("string"). Opsional. Tidak ada batasan jumlah parameter.

concat(#{name},${table_name_src},"_01")

DATE_FORMAT

Mengonversi stempel waktu menjadi string waktu dalam format tertentu.

  • Parameter 1: Bidang tabel leluhur bertipe numerik yang berisi stempel waktu UNIX 10 digit atau stempel waktu milidetik 13 digit.

  • Parameter 2: Jenis stempel waktu. Gunakan "unix" untuk stempel waktu UNIX 10 digit atau "millis" untuk stempel waktu milidetik 13 digit.

  • Parameter 3: Zona waktu yang digunakan selama konversi.

  • Parameter 4: Format string tanggal target, seperti yyyy-MM-dd HH:mm:ss:SSS ZZ. yyyy merepresentasikan tahun, MM bulan, dd hari, HH jam (format 24 jam), mm menit, ss detik, SSS milidetik, dan ZZ zona waktu.

date_format(#{timestamp},"millis","Asia/Shanghai","yyyy-MM-dd HH:mm:ss.SSS ZZ")

TO_TIMESTAMP

Mengonversi string waktu menjadi stempel waktu 10 digit atau 13 digit.

  • Parameter 1: Bidang tabel leluhur bertipe teks yang berisi string waktu dalam format tertentu.

  • Parameter 2: Format string waktu, seperti yyyy-MM-dd HH:mm:ss:SSS ZZ. yyyy merepresentasikan tahun, MM bulan, dd hari, HH jam (format 24 jam), mm menit, ss detik, SSS milidetik, dan ZZ zona waktu.

  • Parameter 3: Zona waktu yang digunakan selama konversi.

  • Parameter 4: Jenis stempel waktu output. Gunakan "unix" untuk stempel waktu UNIX 10 digit atau "millis" untuk stempel waktu milidetik 13 digit.

to_timestamp(#{create_time},"yyyy-MM-dd HH:mm:ss","Asia/Shanghai","millis")

DATE_CONVERT

Mengonversi string waktu dari satu format dan zona waktu ke format dan zona waktu lainnya.

  • Parameter 1: Bidang tabel leluhur bertipe teks yang berisi string waktu dalam format tertentu.

  • Parameter 2: Format string waktu sumber, seperti yyyy-MM-dd HH:mm:ss:SSS ZZ. yyyy merepresentasikan tahun, MM bulan, dd hari, HH jam (format 24 jam), mm menit, ss detik, SSS milidetik, dan ZZ zona waktu.

  • Parameter 3: Zona waktu sumber.

  • Parameter 4: Format string tanggal target, seperti yyyy-MM-dd HH:mm:ss:SSS ZZ. yyyy merepresentasikan tahun, MM bulan, dd hari, HH jam (format 24 jam), mm menit, ss detik, SSS milidetik, dan ZZ zona waktu.

  • Parameter 5: Zona waktu target.

date_convert(#{create_time},"yyyy-MM-dd HH:mm:ss","Asia/Shanghai","yyyyMMdd","UTC")

SUBSTRING

Mengekstrak substring dari sebuah string.

  • Parameter 1: Bidang tabel leluhur bertipe teks.

  • Parameter 2: Posisi awal substring. Substring mencakup karakter pada posisi ini. Posisi awal minimum adalah 0.

  • Parameter 3: (Opsional) Panjang substring. Jika panjang kurang dari atau sama dengan 0, substring dari posisi awal hingga akhir akan dikembalikan.

substring(#{name},0,2)

LOWER

Mengonversi string menjadi huruf kecil.

  • Parameter 1: Bidang tabel leluhur bertipe teks atau variabel bawaan.

lower(#{name})

UPPER

Mengonversi string menjadi huruf besar.

  • Parameter 1: Bidang tabel leluhur bertipe teks atau variabel bawaan.

upper(#{name})

Sintaks yang didukung

  • Hanya ekspresi pemanggilan fungsi yang didukung. Ekspresi harus terdiri dari nama fungsi, tanda kurung, dan parameter. Jenis ekspresi lain tidak didukung. Contohnya, DATE_FORMAT(#{create_time},"millis","Asia/Shanghai","yyyyMMdd").

  • Literal string dalam parameter ekspresi fungsi harus diapit tanda kutip ganda (""). Contohnya, CONCAT("hello","world").

  • Literal numerik dalam parameter ekspresi fungsi dapat ditulis langsung sebagai angka. Contohnya, SUBSTRING(#{col1},0,10).

  • Pemanggilan fungsi dapat disarangkan dalam parameter. Contohnya, CONCAT(SUBSTRING(#{col1},0,10),"test").

  • Gunakan #{} untuk mereferensikan nilai kolom output dari node leluhur.

  • Gunakan ${} untuk mereferensikan variabel bawaan. Jenis variabel bawaan yang didukung sama dengan yang tersedia dalam pengaturan kolom tambahan untuk setiap channel. Contohnya, CONCAT(SUBSTRING(#{col1},0,10),${DATASOURCE_NAME_SRC}).

  • Nama fungsi dan nama variabel bawaan tidak peka terhadap huruf besar/kecil.

Prasyarat

  • Sumber data telah dikonfigurasi. Sumber harus berupa MySQL atau PolarDB, dan tujuan harus berupa MaxCompute atau Hologres. Untuk informasi lebih lanjut, lihat Konfigurasi Sumber Data.

  • Tugas whole-database real-time sinkronisasi telah dibuat.

Prosedur

Langkah 1: Buka halaman pengeditan tugas whole-database real-time

  1. Masuk ke Konsol DataWorks. Di wilayah target, klik Data Integration > Data Integration di panel navigasi kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Data Integration.

  2. Di panel navigasi kiri, klik image untuk membuka halaman tugas sinkronisasi.

  3. Temukan tugas sinkronisasi real-time seluruh database yang diinginkan. Di kolom Tindakan, pilih More > Edit untuk membuka halaman konfigurasi tugas sinkronisasi.

Langkah 2: Tambahkan kolom hasil pemrosesan fungsi ke tabel tujuan

Anda harus menambahkan kolom hasil pemrosesan fungsi ke skema tabel tujuan sebelum dapat menulis data ke dalamnya.

  1. Di halaman konfigurasi tugas real-time seluruh database, klik Next. Di bagian Target Table Mapping, klik Refresh Mapping.

  2. Temukan tabel target tempat Anda ingin menambahkan kolom hasil pemrosesan fungsi, lalu klik ikon image di kolom Destination Table Name untuk membuka halaman konfigurasi skema tabel.

  3. Di bagian Field, klik Add Fields. Setelah mengonfigurasi bidang tersebut, klik Apply and Refresh Mapping.

    Anda juga dapat memilih Target Table Structure - Batch Modify and Add Fields di Operasi Batch untuk menambahkan kolom hasil pemrosesan fungsi ke beberapa tabel tujuan.

Langkah 3: Tentukan ekspresi fungsi

  1. Di kolom Value assignment, klik Configure untuk membuka halaman penugasan bidang.

  2. Di bagian Destination Table Field, temukan kolom hasil pemrosesan fungsi yang telah Anda tambahkan. Atur Assignment Method menjadi Function. Lalu, masukkan ekspresi fungsi di kolom Assign. Untuk informasi lebih lanjut, lihat Fungsi dan sintaks yang didukung.

    Parameter Assignment Method menyediakan tiga opsi: Manual Assignment, Select Variable, dan Function. Anda hanya dapat menetapkan nilai ke bidang yang tidak ada di tabel sumber. Jika tidak, nilai bidang dengan nama yang sama dari tabel sumber akan digunakan.