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