CASE (Azure Stream Analytics)
Evalueert een lijst met voorwaarden en retourneert een van meerdere mogelijke resultaatexpressies.
De CASE-expressie heeft twee indelingen:
Met de eenvoudige CASE-expressie wordt een expressie vergeleken met een set eenvoudige expressies om het resultaat te bepalen.
De gezochte CASE-expressie evalueert een set Booleaanse expressies om het resultaat te bepalen.
Voor beide indelingen is een ELSE-argument vereist.
CASE kan worden gebruikt in elke instructie of component die een geldige expressie toestaat. U kunt CASE bijvoorbeeld gebruiken in expressies zoals SELECT en in componenten zoals WHERE en HAVING.
Syntaxis
Eenvoudige CASE-expressie:
CASE input_expression
WHEN when_expression THEN result_expression [ ...n ]
ELSE else_result_expression
END
Doorzochte CASE-expressie:
CASE
WHEN Boolean_expression THEN result_expression [ ...n ]
ELSE else_result_expression
END
Argumenten
input_expression
Wordt de expressie geëvalueerd wanneer de eenvoudige CASE-indeling wordt gebruikt. De geëvalueerde waarde wordt vergeleken met de when_expression.
WANNEER when_expression
Is de expressie waarmee input_expression wordt vergeleken bij het gebruik van de eenvoudige CASE-indeling. De typen van de when_expressions hoeven niet noodzakelijkerwijs overeen te komen.
WANNEER boolean_expression
Wordt de Booleaanse expressie geëvalueerd bij het gebruik van de gezochte CASE-indeling. Als deze expressie waar is, wordt de bijbehorende result_expression geretourneerd.
DAN result_expression
Wordt de expressie geretourneerd wanneer input_expression gelijk is aan when_expression (in de eenvoudige CASE-indeling) of wanneer boolean_expression resulteert in waar (in de gezochte CASE-indeling).
ELSE else_result_expression
Wordt de expressie geretourneerd als geen van de voorwaarden waar is geëvalueerd.
Retourtype
Is het hoogste prioriteitstype uit de set typen in result_expression(en) en else_result_expression.
Voorbeelden
Select gebruiken met een eenvoudige CASE-expressie:
SELECT
CASE vehicleType
WHEN 'S' THEN 'Sedan'
WHEN 'T' THEN 'Truck'
WHEN 'V' THEN 'Van'
ELSE NULL
END as vehicleTypeName
FROM vehicles
Select gebruiken met de gezochte CASE-expressie:
SELECT
CASE
WHEN temperature < 60 THEN 'Alert'
ELSE 'OK'
END as currentStatus
FROM sensor