Conditional

CASE

DuckDBDuckDB

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 2026

Syntax

SQL
CASE WHEN condition THEN result [WHEN...] [ELSE result] END

Parameter

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
1SELECT
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
9FROM products;

Mengkategorikan produk berdasarkan harga.

CASE dengan Aggregasi

SQL
1SELECT
2 COUNT(CASE WHEN status = 'active' THEN 1 END) AS active_count,
3 COUNT(CASE WHEN status = 'inactive' THEN 1 END) AS inactive_count
4FROM users;

Conditional counting dalam satu query.

Searched CASE vs Simple CASE

SQL
1-- Simple CASE
2SELECT CASE status
3 WHEN 'A' THEN 'Active'
4 WHEN 'I' THEN 'Inactive'
5 ELSE 'Unknown'
6END AS status_label
7FROM users;

Simple CASE untuk equality check.

Nested CASE

SQL
1SELECT
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
7FROM 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.

Fungsi Terkait