本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Case 语句
Case 语句可以用于执行分支,就像switch 语句一样。
语法:
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
,则 Case 语句的结果为 Undefined
。