Declarações de caso - AWS IoT Core

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Declarações de caso

As declarações de caso podem ser usadas para execução de ramificação, como uma declaração de troca.

Sintaxe:

CASE v WHEN t[1] THEN r[1] WHEN t[2] THEN r[2] ... WHEN t[n] THEN r[n] ELSE r[e] END

A expressão v é avaliada e correspondida para igualdade em relação ao valor t[i] de cada cláusula WHEN. Se uma correspondência for encontrada, a expressão r[i] correspondente se tornará o resultado da declaração do CASE. As cláusulas WHEN são avaliadas em ordem para que, se houver mais de uma cláusula correspondente, o resultado da primeira cláusula correspondente se torne o resultado da declaração do CASE. Se não houver correspondências, r[e] da cláusula ELSE é o resultado. Se não houver correspondências e não houver cláusula ELSE, o resultado é Undefined.

As declarações de CASE exigem, pelo menos, uma cláusula WHEN. Qualquer cláusula ELSE é opcional.

Por exemplo: .

Carga útil de entrada publicada no tópico topic/subtopic:

{ "color":"yellow" }

Declaração do SQL:

SELECT CASE color WHEN 'green' THEN 'go' WHEN 'yellow' THEN 'caution' WHEN 'red' THEN 'stop' ELSE 'you are not at a stop light' END as instructions FROM 'topic/subtopic'

A carga útil de saída resultante seria:

{ "instructions":"caution" }
nota

Se v for Undefined, o resultado da declaração do caso será Undefined.