- SQL Server 2017从零开始学(视频教学版)
- 李小威
- 386字
- 2025-02-24 23:52:43
4.5.3 CASE语句
CASE是多条件分支语句,相比IF…ELSE语句,CASE
语句进行分支流程控制可以使代码更加清晰,易于理解。CASE语句也根据表达式逻辑值的真假来决定执行的代码流程,CASE语句有两种格式。
1.格式1

在第一种格式中,CASE语句在执行时,将CASE后的表达式的值与各WHEN子句的表达式值比较,如果相等,就执行THEN后面的表达式或语句,然后跳出CASE语句;否则,返回ELSE后面的表达式。
【例4.24】使用CASE语句根据学生姓名判断各个学生在班级的职位,输入语句如下。

代码执行结果如图4-19所示。

图4-19 使用CASE语句对学生职位进行判断
2.格式2

在第二种格式中,CASE关键字后面没有表达式,多个WHEN子句中的表达式依次执行,如果表达式结果为真,就执行相应THEN关键字后面的表达式或语句,执行完毕之后跳出CASE语句。如果所有WHEN语句都为FALSE,则执行ELSE子句中的语句。
【例4.25】使用CASE语句对考试成绩进行评定,输入语句如下。

代码执行结果如图4-20所示。

图4-20 使用CASE语句对考试成绩进行评价