case
Description
CASE は条件式です。WHEN 節の条件が真と評価されると、THEN 節の結果を返します。どの条件も真と評価されない場合、オプションの ELSE 節の結果を返します。ELSE が存在しない場合は、NULL が返されます。
Syntax
CASE 式には 2 つの形式があります。
- Simple CASE
CASE expression
WHEN expression1 THEN result1
[WHEN expression2 THEN result2]
...
[WHEN expressionN THEN resultN]
[ELSE result]
END
この構文では、expression は WHEN 節の各式と比較されます。等しい式が見つかれば、THEN 節の結果が返されます。等しい式が見つからない場合、ELSE が存在すれば ELSE 節の結果が返されます。
- Searched CASE
CASE WHEN condition1 THEN result1
[WHEN condition2 THEN result2]
...
[WHEN conditionN THEN resultN]
[ELSE result]
END
この構文では、WHEN 節の各条件が評価され、真である場合、その条件に対応する THEN 節の結果が返されます。どの条件も真と評価されない場合、ELSE が存在すれば ELSE 節の結果が返されます。
最初の CASE は次のように 2 番目の CASE と等しいです。
CASE WHEN expression = expression1 THEN result1
[WHEN expression = expression2 THEN result2]
...
[WHEN expression = expressionN THEN resultN]
[ELSE result]
END
Parameters
-
expressionN: 比較する式。複数の式はデータ型が互換性がある必要があります。 -
conditionN: BOOLEAN 値に評価される条件。 -
resultNはデータ型が互換性がある必要があります。