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