Conditional

CASE

PostgreSQLPostgreSQL

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 2026

Syntax

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
END

Parameter

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
1SELECT
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
10FROM users;

Mengubah kode status menjadi label yang mudah dibaca.

Hasil
namestatusstatus_label
JohnactiveAktif
JanependingMenunggu

Searched CASE

SQL
1SELECT
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
11FROM students;

Mengkonversi skor numerik menjadi grade.

Hasil
namescoregrade
Andi95A
Budi78C

CASE dalam Aggregate

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.

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.

Fungsi Equivalen di Database Lain

Fungsi Terkait