Conditional
DuckDB
CASE
Ekspresi kondisional yang mengevaluasi kondisi secara berurutan dan mengembalikan hasil yang sesuai. Fundamental untuk logika kondisional di SQL.
Tipe hasil:
Tipe dari result expressionsDiperbarui: 16 Mei 2026Syntax
SQL
CASE WHEN condition THEN result [WHEN...] [ELSE result] ENDParameter
conditionBOOLEANwajib
Kondisi yang akan dievaluasi
resultANYwajib
Nilai yang dikembalikan jika kondisi TRUE
ELSE resultANYopsional
Nilai default jika tidak ada kondisi yang TRUE
Contoh Penggunaan
Simple CASE
SQL
1 SELECT 2 product_name, 3 price, 4 CASE 5 WHEN price < 100 THEN 'Murah' 6 WHEN price < 500 THEN 'Medium' 7 ELSE 'Mahal' 8 END AS price_category 9 FROM products;
Mengkategorikan produk berdasarkan harga.
CASE dengan Aggregasi
SQL
1 SELECT 2 COUNT(CASE WHEN status = 'active' THEN 1 END) AS active_count, 3 COUNT(CASE WHEN status = 'inactive' THEN 1 END) AS inactive_count 4 FROM users;
Conditional counting dalam satu query.
Searched CASE vs Simple CASE
SQL
1 -- Simple CASE 2 SELECT CASE status 3 WHEN 'A' THEN 'Active' 4 WHEN 'I' THEN 'Inactive' 5 ELSE 'Unknown' 6 END AS status_label 7 FROM users;
Simple CASE untuk equality check.
Nested CASE
SQL
1 SELECT 2 CASE 3 WHEN type = 'premium' THEN 4 CASE WHEN tenure > 12 THEN 'VIP' ELSE 'Premium' END 5 ELSE 'Standard' 6 END AS customer_tier 7 FROM customers;
CASE bersarang untuk logika kompleks.
Pertanyaan Umum tentang CASE
Apa itu fungsi CASE di DuckDB?
Ekspresi kondisional yang mengevaluasi kondisi secara berurutan dan mengembalikan hasil yang sesuai. Fundamental untuk logika kondisional di SQL. Di DuckDB, fungsi CASE termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan CASE di DuckDB?
Gunakan sintaks berikut: CASE WHEN condition THEN result [WHEN...] [ELSE result] END. Pastikan argumen yang dimasukkan sudah sesuai dengan tipe data yang diharapkan.
Apa nilai yang dikembalikan oleh fungsi CASE?
Fungsi CASE mengembalikan nilai bertipe Tipe dari result expressions. Pastikan tipe data hasil sudah sesuai dengan kebutuhan query atau formula kamu. Jika input mengandung nilai NULL, perilaku fungsi dapat berbeda — selalu periksa dokumentasi untuk memastikan hasilnya sesuai ekspektasi.
Apa saja parameter fungsi CASE?
Fungsi ini memiliki 2 parameter wajib dan 1 parameter opsional. Parameter yang digunakan: condition (BOOLEAN, wajib): Kondisi yang akan dievaluasi; result (ANY, wajib): Nilai yang dikembalikan jika kondisi TRUE; ELSE result (ANY, opsional): Nilai default jika tidak ada kondisi yang TRUE.