Salah satu fitur yang saya sukai dari PostgreSQL adalah dapat digunakannya ekspresi kondisional pada query. PostgreSQL menyediakan ekpresi CASE yang memiliki fungsi yang sama dengan statemen IF/ELSE pada bahasa pemrograman.
Berikut adalah bentuk dari ekspresi CASE pada PostgreSQL
CASE WHEN condition THEN result [WHEN ...] [ELSE result] END
Untuk melihat bagaimana cara menggunakan ekspresi CASE, saya memiliki sebuah tabel number dengan sebuah kolom nomor yang memuat data bertipe integer.
SELECT nomor FROM number ORDER BY nomor; nomor ------- 1 3 32 37 38 97 (6 rows)
Sekarang mari kita gunakan ekspresi CASE untuk menentukan apakah nomor tersebut merupakan bilangan ganjil atau genap.
SELECT nomor, (CASE WHEN nomor % 2 = 0 THEN 'Bilangan Genap' ELSE 'Bilangan Ganjil' END) AS status FROM number ORDER BY nomor;
dan hasilnya adalah sebagai berikut:
nomor | status -------+----------------- 1 | Bilangan Ganjil 3 | Bilangan Ganjil 32 | Bilangan Genap 37 | Bilangan Ganjil 38 | Bilangan Genap 97 | Bilangan Ganjil (6 rows)
Bagaimana? sangat menarik bukan!?
Happy querying :)
Comments
Post a Comment