SQL编程思想:基于5种主流数据库代码实现
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人


3.3.1 简单CASE表达式

简单CASE表达式的语法如下:

语句执行时首先计算expression的值,然后将该值和第1个WHEN子句中的数据(value1)进行比较,如果二者相等,则返回对应THEN子句中的结果(result1);如果二者不相等,则继续将该值和第2个WHEN子句中的数据(value2)进行比较,如果二者相等,则返回对应THEN子句中的结果(result2);依此类推。如果没有找到相等的数据,返回ELSE子句中的默认结果(default);如果没有指定ELSE子句,返回空值。

简单CASE表达式的计算过程如图3.1所示。

图3.1 简单CASE表达式的计算过程

例如,以下查询使用简单CASE表达式将员工的部门编号转换为相应的名称:

查询返回的结果如下:

简单CASE表达式在进行条件判断时使用的是等值比较(=),只能处理简单的比较逻辑。如果想要实现复杂的逻辑处理,例如根据学生考试成绩范围评出优秀、良好等,就需要使用更加强大的搜索CASE表达式。