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
WHENt[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 v
Undefined
, o resultado da declaração do caso será Undefined
.