CASE

语法: 

  CASE WHEN <求值表达式> THEN <表达式>
    WHEN <求值表达式> THEN <表达式>
    WHEN <求值表达式> THEN <表达式>
    ...
    ELSE <表达式>
  END

CASE 表达式会从对最初的WHEN 子句中的“< 求值表达式>”进行求值开始执行所谓求值,就是要调查该表达式的真值是什么。如果结果为真(TRUE),那么就返回THEN 子句中的表达式,CASE 表达式的执行到此为止。如果结果不为真,那么就跳转到下一条WHEN 子句的求值之中。如果直到最后的WHEN 子句为止返回结果都不为真,那么就会返回ELSE中的表达式,执行终止。

ELSE 子句也可以省略不写,这时会被默认为ELSE NULL。

注意:CASE 表达式最后的“END”是不能省略的

CASE 表达式的便利之处就在于它是一个表达式,也就是说,它可以书写在任意位置。

原文地址:https://www.cnblogs.com/philipchan/p/14331581.html