case语句是多分支选择语句。case语句是多分支选择语句,if语句只有两个分支可供选择,而实际问题中常常需要用到多分支选择结构。
例如,学生成绩分类(90分以上为A,……);人口统计分类(按年龄分为老、中、青、少、幼)等。当然这些都可以用if语句的嵌套形式来实现,但如果分支较多,则嵌套的if语句层数太多,程序冗长而降低了可读性,也给修改带来了极大的困难。
Pascal语言提供了case语句可直接处理多分支选择,case语句由一个选择表达式和众多可选择的 *** 作序列组成,运行时根据表达式的求值结果,在众多的分支中选取一个分支执行。
说明:
1、case的英文意义有“情况”、“情形”之意,我们可能这样理解case语句:当表达式的值与常数表中某一值相匹配,则执行其后面的相应语句;如果常数表中没有与表达式相匹配的常数,则执行else后面的相应语句。
2、else可以省略,此时若无与表达式的值相匹配的常数表时程序将向下运行并跳出case语句。
3、保留字end与保留字case成对出现,这个end表示case语句的结束。
SELECT'Price
Category'
=
CASE
WHEN
price
IS
NULL
THEN
'Not
yet
priced'
WHEN
price
<
10
THEN
'Very
Reasonable
Title'
WHEN
price
>=
10
and
price
<
20
THEN
'Coffee
Table
Title'
ELSE
'Expensive
book!'
END
先说下,case要和end一块用。
从上面可以看出,case里用的是when
then
形式,从整个case
end来看,它是从自己的多个语句中择一输出结果。
如果是把when
看成if
,就好理解多了,if语句就像是筛子里的石子,而case
end就是筛子,只会允许一个符合它网眼大小的石头出去,并且会将这个石子打包成一个可用的表达式。
Access中改为:
Dim
strSQL
As
String
strSQL
="Select
iif(content
LIKE
'*-RA*'
,
'小雨'
,iif(content
LIKE
'*RA*',
'大雨'
,'其他'))
AS
天气
FROM
Sheet1"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)