mysql中case的用法:以case关键字为开始,END为结束,逐一判断每个 WHEN 子句直到返回真值为止,语法“CASE WHEN <求值表达式> THEN <表达式> ELSE <表达式> END”;在写mysql查询语句的时候,如果需要根据查询结果判断来返回值的时候可以使用高级函数“case....when”。
CASE表达式的语法分为简单CASE表达式和搜索CASE表达式两种。
搜索CASE表达式
CASE WHEN <求值表达式> THEN <表达式>WHEN <求值表达式> THEN <表达式>
WHEN <求值表达式> THEN <表达式>
.
ELSE <表达式>
END
简单CASE表达式
语法:
CASE <表达式>WHEN <表达式> THEN <表达式>
WHEN <表达式> THEN <表达式>
WHEN <表达式> THEN <表达式>
.
ELSE <表达式>
END
执行方式:
逐一判断每个 WHEN 子句直到返回真值为止。
此外,没有能够返回真值的WHEN 子句时,也会返回 ELSE 子句指定的表达式。
两者不同之处:简单CASE 表达式最初的“CASE< 表达式 >”也会作为求值的对象。
注意:
虽然CASE表达式中的ELSE子句可以省略,但还是希望大家不要省略。
CASE 表达式最后的“END”是不能省略的。