適用於:
Databricks SQL
Databricks Runtime
如果前 resN 個都等於 optN,則傳回 expr;如果都不符合,則傳回 def。
resN傳回第一個condN評估為 true,如果def找不到則傳回 。
語法
CASE expr {WHEN opt1 THEN res1} [...] [ELSE def] END
CASE {WHEN cond1 THEN res1} [...] [ELSE def] END
引數
傳回
如果 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