case
ekspresi
Berlaku untuk: Databricks SQL Databricks Runtime
Menghasilkan resN
untuk optN
pertama yang sama dengan expr
atau def
jika tidak ada yang sesuai.
Membalikan resN
untuk evaluasi pertama condN
ke true, atau def
jika tidak ada yang ditemukan.
Sintaks
CASE expr {WHEN opt1 THEN res1} [...] [ELSE def] END
CASE {WHEN cond1 THEN res1} [...] [ELSE def] END
Argumen
expr
Ekspresi apa pun yang ditentukan perbandingannya.optN
: Ekspresi yang memiliki jenis paling tidak umum denganexpr
dan semua lainnyaoptN
.resN
: Ekspresi apa pun yang memiliki jenis paling tidak umum dengan semua lainnyaresN
dandef
.def
: Ekspresi opsional yang memiliki jenis paling tidak umum dengan semuaresN
.condN
: Ekspresi BOOLEAN.
Kembali
Jenis hasil cocok dengan jenisresN
dan def
.
Jika def
dihilangkan, defaultnya adalah NULL.
Kondisi dievaluasi secara berurutan dan hanya resN
atau def
yang menghasilkan hasilnya yang dieksekusi.
Contoh
> SELECT CASE WHEN 1 > 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END;
1.0
> SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 > 0 THEN 2.0 ELSE 1.2 END;
2.0
> SELECT CASE WHEN 1 < 0 THEN 1 WHEN 2 < 0 THEN 2.0 END;
NULL
> SELECT CASE 3 WHEN 1 THEN 'A' WHEN 2 THEN 'B' WHEN 3 THEN 'C' END;
C