Conditional
PostgreSQL
CASE
Ekspresi kondisional yang mengembalikan nilai berbeda berdasarkan kondisi. Ada dua bentuk: simple CASE (membandingkan expression) dan searched CASE (evaluasi kondisi boolean).
Tipe hasil:
variesDiperbarui: 16 Mei 2026Syntax
SQL
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
ELSE default_result
END
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE default_result
ENDParameter
WHENcondition/valuewajib
Kondisi atau nilai yang diuji
THENanywajib
Nilai yang dikembalikan jika kondisi terpenuhi
ELSEanyopsional
Nilai default jika tidak ada kondisi terpenuhi
Contoh Penggunaan
Simple CASE
SQL
1 SELECT 2 name, 3 status, 4 CASE status 5 WHEN active THEN Aktif 6 WHEN inactive THEN Tidak Aktif 7 WHEN pending THEN Menunggu 8 ELSE Unknown 9 END AS status_label 10 FROM users;
Mengubah kode status menjadi label yang mudah dibaca.
Hasil
| name | status | status_label |
|---|---|---|
| John | active | Aktif |
| Jane | pending | Menunggu |
Searched CASE
SQL
1 SELECT 2 name, 3 score, 4 CASE 5 WHEN score >= 90 THEN A 6 WHEN score >= 80 THEN B 7 WHEN score >= 70 THEN C 8 WHEN score >= 60 THEN D 9 ELSE F 10 END AS grade 11 FROM students;
Mengkonversi skor numerik menjadi grade.
Hasil
| name | score | grade |
|---|---|---|
| Andi | 95 | A |
| Budi | 78 | C |
CASE dalam Aggregate
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.
Pertanyaan Umum tentang CASE
Apa itu fungsi CASE di PostgreSQL?
Ekspresi kondisional yang mengembalikan nilai berbeda berdasarkan kondisi. Ada dua bentuk: simple CASE (membandingkan expression) dan searched CASE (evaluasi kondisi boolean). Di PostgreSQL, fungsi CASE termasuk dalam kelompok fungsi yang sering digunakan untuk mengolah dan menganalisis data secara efisien.
Bagaimana cara menggunakan CASE di PostgreSQL?
Gunakan sintaks berikut: CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
ELSE default_result
END
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE default_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 varies. 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: WHEN (condition/value, wajib): Kondisi atau nilai yang diuji; THEN (any, wajib): Nilai yang dikembalikan jika kondisi terpenuhi; ELSE (any, opsional): Nilai default jika tidak ada kondisi terpenuhi.