Megosztás a következőn keresztül:


CASE (Azure Stream Analytics)

Kiértékeli a feltételek listáját, és több lehetséges eredménykifejezés egyikét adja vissza.

A CASE kifejezésnek két formátuma van:

  • Az egyszerű CASE kifejezés összehasonlít egy kifejezést egy egyszerű kifejezéskészlettel az eredmény meghatározásához.

  • A keresett CASE kifejezés logikai kifejezések halmazát értékeli ki az eredmény meghatározásához.

Mindkét formátumhoz szükség van egy ELSE argumentumra.

A CASE bármely olyan utasításban vagy záradékban használható, amely érvényes kifejezést engedélyez. Használhatja például a CASE függvényt olyan kifejezésekben, mint a SELECT és az olyan záradékok, mint a WHERE és a HAVING.

Syntax

Egyszerű CASE kifejezés:

CASE input_expression
     WHEN when_expression THEN result_expression [ ...n ] 
     ELSE else_result_expression
END  

Keresett CASE kifejezés:

CASE  
     WHEN Boolean_expression THEN result_expression [ ...n ]
     ELSE else_result_expression  
END  

Argumentumok

input_expression

A kifejezés akkor lesz kiértékelve, ha az egyszerű CASE formátumot használja. A kiértékelt értéket összehasonlítja a when_expression.

MIKOR when_expression

Az a kifejezés, amelyhez input_expression az egyszerű CASE formátum használatakor hasonlítja össze. A when_expressions típusainak nem feltétlenül kell egyezniük.

MIKOR boolean_expression

A logikai kifejezés kiértékelve van a keresett CASE formátum használatakor. Ha ez a kifejezés igaz értéket ad vissza, a megfelelő result_expression lesz visszaadva.

MAJD result_expression

A kifejezés akkor jelenik meg, ha input_expressionegyenlő when_expression (egyszerű CASE formátumban), vagy ha boolean_expression igaz értéket ad vissza (a keresett CASE formátumban).

ELSE else_result_expression

A kifejezés akkor lesz visszaadva, ha a feltételek egyike sem IGAZ értékre van kiértékelve.

Visszatérési típus

A legmagasabb prioritási típus a result_expression(ok) és else_result_expression típuskészletéből.

Példák

A select használata egy egyszerű CASE kifejezéssel:

  SELECT
    CASE vehicleType
      WHEN 'S' THEN 'Sedan'
      WHEN 'T' THEN 'Truck'
      WHEN 'V' THEN 'Van'
      ELSE NULL
    END as vehicleTypeName
  FROM vehicles

A select használata a keresett CASE kifejezéssel:

  SELECT
    CASE
      WHEN temperature < 60 THEN 'Alert'
      ELSE 'OK'
    END as currentStatus
  FROM sensor