CASE (Azure Stream Analytics)
Vyhodnotí seznam podmínek a vrátí jeden z více možných výrazů výsledku.
Výraz CASE má dva formáty:
Jednoduchý výraz CASE porovnává výraz se sadou jednoduchých výrazů, aby určil výsledek.
Hledaný výraz CASE vyhodnotí sadu logických výrazů a určí výsledek.
Oba formáty vyžadují argument ELSE.
Case lze použít v libovolném příkazu nebo klauzuli, která umožňuje platný výraz. Argument CASE můžete použít například ve výrazech SELECT a v klauzulích, jako je WHERE a HAVING.
Syntax
Jednoduchý výraz CASE:
CASE input_expression
WHEN when_expression THEN result_expression [ ...n ]
ELSE else_result_expression
END
Hledaný výraz CASE:
CASE
WHEN Boolean_expression THEN result_expression [ ...n ]
ELSE else_result_expression
END
Argumenty
input_expression
Je výraz vyhodnocen při použití jednoduchého formátu CASE. Vyhodnocená hodnota se porovná s when_expression.
KDY when_expression
Je výraz, se kterým se input_expression porovnává při použití jednoduchého formátu CASE. Typy when_expressions se nemusí nutně shodovat.
KDY boolean_expression
Je logický výraz vyhodnocen při použití hledaného formátu CASE. Pokud se tento výraz vyhodnotí jako true, vrátí se odpovídající result_expression .
PAK result_expression
Vrátí se výraz, když se input_expression rovná when_expression (v jednoduchém formátu CASE) nebo když se boolean_expression vyhodnotí jako true (ve formátu hledaného případu).
ELSE else_result_expression
Vrátí se výraz, pokud žádná z podmínek není vyhodnocena jako PRAVDA.
Návratový typ
Je typ s nejvyšší prioritou ze sady typů v result_expression a else_result_expression.
Příklady
Použití příkazu select s jednoduchým výrazem CASE:
SELECT
CASE vehicleType
WHEN 'S' THEN 'Sedan'
WHEN 'T' THEN 'Truck'
WHEN 'V' THEN 'Van'
ELSE NULL
END as vehicleTypeName
FROM vehicles
Použití funkce select s hledaným výrazem CASE:
SELECT
CASE
WHEN temperature < 60 THEN 'Alert'
ELSE 'OK'
END as currentStatus
FROM sensor