CASE (Azure Stream Analytics)
Avalia uma lista de condições e devolve uma das múltiplas expressões de resultados possíveis.
A expressão CASE tem dois formatos:
A expressão CASE simples compara uma expressão a um conjunto de expressões simples para determinar o resultado.
A expressão CASE pesquisada avalia um conjunto de expressões booleanas para determinar o resultado.
Ambos os formatos requerem um argumento ELSE.
O CASE pode ser utilizado em qualquer instrução ou cláusula que permita uma expressão válida. Por exemplo, pode utilizar CASE em expressões como SELECT e em cláusulas como WHERE e HAVING.
Syntax
Expressão CASE simples:
CASE input_expression
WHEN when_expression THEN result_expression [ ...n ]
ELSE else_result_expression
END
Expressão CASE pesquisada:
CASE
WHEN Boolean_expression THEN result_expression [ ...n ]
ELSE else_result_expression
END
Argumentos
input_expression
A expressão é avaliada quando é utilizado o formato CASE simples. O valor avaliado é comparado com o when_expression.
QUANDO when_expression
É a expressão à qual input_expression é comparada ao utilizar o formato CASE simples. Os tipos de when_expressions não têm necessariamente de corresponder.
QUANDO boolean_expression
A expressão booleana é avaliada ao utilizar o formato CASE pesquisado. Se esta expressão for avaliada como verdadeira, será devolvida a result_expression correspondente.
EM SEGUIDA, result_expression
A expressão é devolvida quando input_expression é igual a when_expression (no formato CASE simples) ou quando boolean_expression é avaliada como verdadeira (no formato CASE pesquisado).
ELSE else_result_expression
A expressão é devolvida se nenhuma das condições avaliadas como VERDADEIRO.
Tipo de retorno
É o tipo de precedência mais elevado do conjunto de tipos em result_expression(s) e else_result_expression.
Exemplos
Utilizar a opção Selecionar com uma expressão CASE simples:
SELECT
CASE vehicleType
WHEN 'S' THEN 'Sedan'
WHEN 'T' THEN 'Truck'
WHEN 'V' THEN 'Van'
ELSE NULL
END as vehicleTypeName
FROM vehicles
Utilizar a opção Selecionar com a expressão CASE pesquisada:
SELECT
CASE
WHEN temperature < 60 THEN 'Alert'
ELSE 'OK'
END as currentStatus
FROM sensor