case

適用対象: 「はい」のチェック マーク Databricks SQL Databricks Runtime

expr と等しい最初の optN に対して resN を返します。または、何も一致しない場合は、def を返します。

true に評価される最初の condN に対して resN を返します。または、何も見つからない場合は、def を返します。

構文

CASE expr {WHEN opt1 THEN res1} [...] [ELSE def] END
CASE {WHEN cond1 THEN res1} [...] [ELSE def] END

引数

  • expr: 比較を定義する任意の式。
  • optN: expr および他のすべての optN との最小共通型を含む式。
  • resN: 他のすべての resN および def との最小共通型を含む任意の式。
  • def: すべての resN との最小共通型を含む式 (省略可能)。
  • condN: BOOLEAN 式。

返品

結果の型は、resN および def最小共通型と一致します。

def を省略した場合、既定値は NULL です。 条件が順番に評価され、結果を生成する resN または def だけが実行されます。

> 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