语法:
CASE WHEN <求值表达式> THEN <表达式>
WHEN <求值表达式> THEN <表达式>
WHEN <求值表达式> THEN <表达式>
...
ELSE <表达式>
END
CASE 表达式会从对最初的WHEN 子句中的“< 求值表达式>”进行求值开始执行所谓求值,就是要调查该表达式的真值是什么。如果结果为真(TRUE),那么就返回THEN 子句中的表达式,CASE 表达式的执行到此为止。如果结果不为真,那么就跳转到下一条WHEN 子句的求值之中。如果直到最后的WHEN 子句为止返回结果都不为真,那么就会返回ELSE中的表达式,执行终止。
ELSE 子句也可以省略不写,这时会被默认为ELSE NULL。
注意:CASE 表达式最后的“END”是不能省略的。
CASE 表达式的便利之处就在于它是一个表达式,也就是说,它可以书写在任意位置。