

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Ekspresi bersyarat CASE
<a name="CASE_function"></a>

Ekspresi CASE adalah ekspresi bersyarat, mirip dengan if/then/else pernyataan yang ditemukan dalam bahasa lain. CASE digunakan untuk menentukan hasil jika terdapat beberapa kondisi. Gunakan CASE di mana ekspresi SQL valid, seperti dalam perintah SELECT.

Ada dua jenis ekspresi CASE: sederhana dan dicari.
+ Dalam ekspresi CASE sederhana, ekspresi dibandingkan dengan nilai. Ketika kecocokan ditemukan, tindakan yang ditentukan dalam klausul THEN diterapkan. Jika tidak ada kecocokan ditemukan, tindakan dalam klausul ELSE diterapkan.
+ Dalam ekspresi CASE yang dicari, setiap CASE dievaluasi berdasarkan ekspresi Boolean, dan pernyataan CASE mengembalikan CASE yang cocok pertama. Jika tidak ada kecocokan yang ditemukan di antara klausa WHEN, tindakan dalam klausa ELSE dikembalikan.

## Sintaksis
<a name="CASE_function-syntax"></a>

Pernyataan CASE sederhana yang digunakan untuk menyesuaikan kondisi:

```
CASE expression
  WHEN value THEN result
  [WHEN...]
  [ELSE result]
END
```

Pernyataan CASE yang dicari digunakan untuk mengevaluasi setiap kondisi:

```
CASE
  WHEN condition THEN result
  [WHEN ...]
  [ELSE result]
END
```

## Argumen
<a name="CASE_function-arguments"></a>

 *ekspresi*   
Nama kolom atau ekspresi yang valid.

 *nilai*   
Nilai yang dibandingkan dengan ekspresi, seperti konstanta numerik atau string karakter.

 *hasil*   
Nilai target atau ekspresi yang dikembalikan ketika ekspresi atau kondisi Boolean dievaluasi. Tipe data dari semua ekspresi hasil harus dikonversi ke tipe output tunggal.

 *ketentuan*   
Ekspresi Boolean yang mengevaluasi benar atau salah. Jika *kondisi* benar, nilai ekspresi CASE adalah hasil yang mengikuti kondisi, dan sisa ekspresi CASE tidak diproses. Jika *kondisinya* salah, klausa WHEN berikutnya dievaluasi. Jika tidak ada hasil kondisi WHEN yang benar, nilai ekspresi CASE adalah hasil dari klausa ELSE. Jika klausa ELSE dihilangkan dan tidak ada kondisi yang benar, hasilnya adalah nol.

## Contoh
<a name="CASE_function-examples"></a>

Gunakan ekspresi CASE sederhana untuk mengganti `New York City` `Big Apple` dengan query terhadap tabel VENUE. Ganti semua nama kota lainnya dengan `other`.

```
select venuecity,
  case venuecity
    when 'New York City'
    then 'Big Apple' else 'other'
  end 
from venue
order by venueid desc;

venuecity        |   case
-----------------+-----------
Los Angeles      | other
New York City    | Big Apple
San Francisco    | other
Baltimore        | other
...
```

Gunakan ekspresi CASE yang dicari untuk menetapkan nomor grup berdasarkan nilai PRICEPAID untuk penjualan tiket individu:

```
select pricepaid,
  case when pricepaid <10000 then 'group 1'
    when pricepaid >10000 then 'group 2'
    else 'group 3'
  end 
from sales
order by 1 desc;

pricepaid |  case
----------+---------
12624     | group 2
10000     | group 3
10000     | group 3
9996      | group 1
9988      | group 1
...
```