CASE (Azure Stream Analytics)

Évalue une liste de conditions et retourne une expression de résultat parmi plusieurs possibilités.

L'expression CASE a deux formats :

  • l'expression CASE simple détermine le résultat en comparant une expression à un jeu d'expressions simples ;

  • l'expression CASE élaborée évalue un ensemble d'expressions booléennes pour déterminer le résultat.

Les deux formats nécessitent un argument ELSE.

CASE peut être utilisé dans n'importe quelle instruction ou clause qui autorise une expression valide. Par exemple, vous pouvez utiliser CASE dans des expressions telles que SELECT, et dans des clauses telles que WHERE et HAVING.

Syntax

Expression CASE simple :

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

Expression CASE élaborée :

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

Arguments

input_expression

Expression évaluée à l'aide du format CASE simple. La valeur évaluée est comparée à la when_expression.

WHEN when_expression

Expression à laquelle input_expression est comparé lors de l’utilisation du format CASE simple. Les types des when_expressions ne doivent pas nécessairement correspondre.

QUAND boolean_expression

L’expression booléenne est-elle évaluée lors de l’utilisation du format CASE recherché. Si cette expression prend la valeur true, la result_expression correspondante est retournée.

THEN result_expression

Expression retournée lorsque input_expression est égal à when_expression (au format CASE simple) ou lorsque boolean_expression prend la valeur true (au format CASE recherché).

ELSE else_result_expression

Expression retournée si aucune des conditions n’a été évaluée à TRUE.

Type de retour

Type de priorité le plus élevé de l’ensemble de types dans result_expression et else_result_expression.

Exemples

À l’aide de select avec une expression CASE simple :

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

Utilisation de select avec l’expression CASE recherchée :

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