mysql中的三元运算

mysql的if函数,例如:IF(expr1,expr2,expr3) 
说明:如果 expr1是TRUE,则IF()的返回值为expr2; 否则返回值则为expr3
实例场景:如果video_id为null,则直接返回空字符,避免不必要的查询影响效率:
(SELECT if(isnull(video_id),'',(SELECT cover from topic_video tv where tv.id = video_id))) 别称,

在数据查询过程中,我们有可能需要用到数据库中的三元运算符,实际上这种操作是要消耗大量时间的。如果实在避免避免不了这样的操作,我们就应该一个相对比较好的一个方法。

MySql中的三元运算符有两种方法:

1、case when 条件 then (条件为true时执行) else(条件为false时执行) end /*end不可少*/

2、select *,if(expr1,expr2,expr3) from 表名

两种方法的比较:case when 的执行速度要快于if(expr1,expr2,expr3)条件查询

原文地址:https://www.cnblogs.com/Samuel-Leung/p/10806143.html