2.6.3 CASE语句
CASE语句在一个序列条件中进行选择并执行相应的程序块,主要有简单形式和搜索形式两种。
1.简单形式
将一个表达式与多个值进行比较,根据比较结果进行选择。这种形式的CASE语句会选择第一个满足条件的对应语句来执行,剩下的则不会执行。如果没有符合的条件,则它会执行ELSE语句。如果ELSE语句不存在,则不会执行任何语句。CASE语句简单形式的语法格式如下:

其中,每个条件都可以是立即数,也都可以是一个表达式。
【例2-41】CASE语句简单形式举例。

2.搜索形式
对多个条件进行计算,选择执行第一个结果为真的条件子句,在第一个为真的条件后面的所有条件都不会执行。如果所有的条件都不为真,则执行ELSE语句。如果ELSE语句不存在,则不执行任何语句。CASE语句搜索形式的语法格式如下:

【例2-42】CASE语句搜索形式举例。

CASE语句类似C语言中的switch语句,它的执行体可以被一个WHEN条件包含起来,与IF语句相似。一个CASE语句是由END CASE来结束的。