一般case函数的用法有两种
1.简单case函数
CASE input_expression
WHEN when_expression THEN result_expression
[...n]
ELES eles_result_expression
END
简单case函数的执行过程是
1.1
计算input_expression,然后按指定顺序对每个when子句的input_expression=when_expression进行计算
1.2
返回第一个取值为true的(input_expression=when_expression)的result_expression
1.3
如果没有取值为true的input_expression=when_expression,则指定eles子句的eles_result_expression,如果没有指定eles子句,则返回null
2.case搜索函数
CASE
WHEN boolean_expression THEN result_expression
[...n]
ELSE else_result_expression
END
case 搜索函数的执行过程
2.1
按指定顺序为每个where子句的boolean_expression求值
2.2
返回第一个取值为true的boolean_expression的result_expression
2.3
如果没有取值为true的boolean_expression,则取else子句,若没有指定else子句,则返回null