case ekspresi

Berlaku untuk:check marked yes Databricks SQL check marked yes 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

  • exprEkspresi apa pun yang ditentukan perbandingannya.
  • optN: Ekspresi yang memiliki jenis paling tidak umum dengan expr dan semua lainnya optN.
  • resN: Ekspresi apa pun yang memiliki jenis paling tidak umum dengan semua lainnya resN dan def.
  • def: Ekspresi opsional yang memiliki jenis paling tidak umum dengan semua resN.
  • 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