Fungsi ini biasanya di ikuti dengan WHEN dan ELSE sebagai penyataan TRUE / FALSE seperti berikut :
CASE
WHEN kondisi1 THEN result1
WHEN kondisi2 THEN result2
WHEN kondisiN THEN resultN
ELSE result
END;
Cara kerja CASE Statement akan melakukan pengecekan kondisi dan mengembalikan nilai ketika kondisi WHEN pertama yang sudah di atur terpenuhi (seperti pernyataan IF-THEN-ELSE). Jadi, apabila suatu kondisi bernilai TRUE maka proses akan berhenti membaca dan mengembalikan hasilnya. Jika kondisi pertama tidak terpenuhi (FALSE) maka akan memberikan nila ELSE.
Perlu diketahui juga apabila nilai ELSE pada penggunaan fungsi CASE Statement tidak dibuat dan tidak ada nilai yang bernilai TRUE maka nilai yang akan dikembalikan adalah NULL.
Sekarang cobalah sobat membuat table post seperti dibawah ini :
CREATE TABLE post (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
Title VARCHAR(30) NOT NULL,
Description TEXT NOT NULL,
Status INT(1)
)
dalam tabel Post terdapat field Status yang akan kita beri nilai dengan ketentuan berikut: 1 = draft dan 2 = publish . Sekarang Insertlah data dengan kondisi untuk field Status 1 dan 2.
Sekarang kita jalankan query berikut :
SELECT id, Title, Description, CASE
WHEN Status=1 THEN 'Draf'
ELSE 'Publish'
END AS Status FROM post;
Lihat hasilnya.. silahkan sobat pahami lagi penggunaan CASE Statement tersebut, penulis sendiri sangat terbantu dengan fungsi ini untuk pembuatan report dan lain sebagainya. Happy Coding :)