本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
案例陳述式
可用於分支執行的案例陳述式,例如切換陳述式。
語法:
CASE
v
WHENt[1]
THENr[1]
WHENt[2]
THENr[2]
... WHENt[n]
THENr[n]
ELSEr[e]
END
表達式
會受到評估並對每個 v
WHEN
子句的
值配對是否相等。如果找到匹配的結果,相對應的 t[i]
表達式會成為該 r[i]
CASE
陳述式的結果。此 WHEN
子句會按順序進行評估,以便如果有多個符合子句,則第一個符合子句的結果會成為 CASE
陳述式的結果。如果沒有相符項目,ELSE
子句的
即為結果。如果沒有相符項目,也沒有 r[e]
ELSE
子句,則結果即為 Undefined
。
CASE
陳述式會要求至少一個 WHEN
子句。ELSE
子句是選用的。
例如:
發佈在主題 topic/subtopic
的傳入承載:
{ "color":"yellow" }
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'
產生的輸出承載為:
{ "instructions":"caution" }
注意
如果
是 v
Undefined
,則案例陳述式的結果為 Undefined
。