case 運算式

適用於:check marked yes Databricks SQL check marked yes Databricks Runtime

resN傳回第一個optN等於 exprdef 如果沒有任何相符項目則傳回 。

resN傳回第一個condN評估為 true,如果def找不到則傳回 。

語法

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

引數

傳回

結果型別符合和 最不常見的型別resNdef

如果 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