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