Случай

✅ Поток событий Azure Stream Analytics ✅ Fabric

Вычисляет список условий и возвращает одно из нескольких возможных выражений результатов.

Выражение CASE имеет два формата:

  • Простое выражение CASE сравнивает выражение с набором простых выражений для определения результата.

  • Поиск по выражению CASE вычисляет набор логических выражений для определения результата.

Оба формата требуют аргумента ELSE.

CASE можно использовать в любой инструкции или предложении, которая разрешает допустимое выражение. Например, можно использовать CASE в выражениях, таких как SELECT и в предложениях, таких как WHERE и HAVING.

Синтаксис

Простое выражение CASE:

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

Поиск выражения CASE:

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

Аргументы

input_expression

Выражение вычисляется при использовании простого формата CASE. Вычисляемое значение сравнивается с when_expression.

КОГДА when_expression

Выражение, с которым сравнивается input_expression при использовании простого формата CASE. Типы when_expressions не обязательно должны соответствовать.

КОГДА boolean_expression

Логическое выражение вычисляется при использовании формата CASE для поиска. Если это выражение имеет значение true, возвращается соответствующая result_expression .

ЗАТЕМ result_expression

Выражение возвращается, если input_expression равно when_expression (в простом формате CASE) или когда boolean_expression оценивается как true (в формате case).

ELSE else_result_expression

Возвращается выражение, если ни одно из условий, оцененных как TRUE.

Тип возвращаемого значения

Является самым высоким приоритетом из набора типов в result_expression и else_result_expression.

Примеры

Использование выбора с простым выражением CASE:

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

Использование выбора с выражением CASE для поиска:

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