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:
CASEvWHENt[1]THENr[1]WHENt[2]THENr[2]... WHENt[n]THENr[n]ELSEr[e]END
A expressão é avaliada e correspondida para igualdade em relação ao valor v de cada cláusula t[i]WHEN. Se uma correspondência for encontrada, a expressão correspondente se tornará o resultado da declaração do r[i]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, da cláusula r[e]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 for vUndefined, o resultado da declaração do caso será Undefined.