Partager via


CAS

✅ Azure Stream Analytics ✅ Fabric Eventstream

Évalue une liste de conditions et retourne l’une des expressions de résultat possibles.

L’expression CASE a deux formats :

  • L’expression CASE simple compare une expression à un ensemble d’expressions simples pour déterminer le résultat.

  • L’expression CASE recherché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.

Syntaxe

Expression CASE simple :

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

Expression CASE recherchée :

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

Les arguments

input_expression

Expression évaluée lorsque le format CASE simple est utilisé. La valeur évaluée est comparée à la when_expression.

WHEN when_expression

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

WHEN boolean_expression

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

PUIS 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é à partir de l’ensemble de types dans result_expression(s) et else_result_expression.

Exemples

Utilisation de la sélection 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 la sélection avec l’expression CASE recherchée :

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