CASE (Azure Stream Analytics)
一連の条件を評価して、考えられる結果式のうちの 1 つを返します。
CASE 式には 2 つの形式があります。
単純 CASE 式では、1 つの式を一連の単純式と比較して結果を決定します。
検索 CASE 式では、一連のブール式を評価して結果を判定します。
どちらの形式でも ELSE 引数が必要です。
CASE は、有効な式を使用できる任意のステートメントや句で使用できます。 たとえば、SELECT などの式や、WHERE、HAVING などの句で使用できます。
構文
単純 CASE 式:
CASE input_expression
WHEN when_expression THEN result_expression [ ...n ]
ELSE else_result_expression
END
検索 CASE 式:
CASE
WHEN Boolean_expression THEN result_expression [ ...n ]
ELSE else_result_expression
END
引数
input_expression
単純 CASE 形式を使用した場合に評価される式です。 評価された値は、 when_expressionと比較されます。
WHEN when_expression
単純な CASE 形式を使用する場合に input_expression が比較される式です。 when_expressionsの種類は必ずしも一致する必要はありません。
WHEN boolean_expression
検索された CASE 形式を使用するときに評価されるブール式です。 この式が true と評価された場合は、対応する result_expression が返されます。
THEN result_expression
input_expressionが (単純な CASE 形式で) when_expression等しい場合、またはboolean_expressionが true (検索された CASE 形式) と評価されたときに返される式です。
ELSE else_result_expression
TRUE に評価された条件がない場合に返される式です。
の戻り値の型 :
result_expressionとelse_result_expressionの型のセットから最も優先順位の高い型です。
例
単純な CASE 式で select を使用する:
SELECT
CASE vehicleType
WHEN 'S' THEN 'Sedan'
WHEN 'T' THEN 'Truck'
WHEN 'V' THEN 'Van'
ELSE NULL
END as vehicleTypeName
FROM vehicles
検索された CASE 式で select を使用する:
SELECT
CASE
WHEN temperature < 60 THEN 'Alert'
ELSE 'OK'
END as currentStatus
FROM sensor