Pelajaran 9 / 37 · Menghitung nilai

CASE memilih cabang pertama yang bernilai TRUE

CASE dihitung di SELECT, per baris, dari cabang paling atas ke bawah. Kalau amount bernilai NULL, semua perbandingannya tidak diketahui, jadi tidak ada cabang WHEN yang terpenuhi dan yang dipakai adalah ELSE.

Query-nya

SELECT id, amount,
       CASE
         WHEN amount >= 100 THEN 'big'
         WHEN amount >= 20  THEN 'medium'
         ELSE 'small'
       END AS size
FROM orders

Coba tambahkan WHEN amount IS NULL THEN 'unknown' sebagai cabang pertama: pesanan 108 mendapat labelnya sendiri.

Berikutnya: Casting dan fungsi tanggal bisa dipakai di SELECT maupun WHERE · Semua pelajaran