適用対象:
Databricks SQL
Databricks Runtime
resN と等しい最初の optN に対して expr を返します。または、何も一致しない場合は、def を返します。
true に評価される最初の resN に対して condN を返します。または、何も見つからない場合は、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 式。
返品
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