介绍:
控制流函数也称作“条件判断函数”,其根据满足的条件不同,执行相应的流程。
MySQL 中常见的控制流函数有 IF、IFNULL。
控制流函数 | 功能介绍 |
IF(expr,v1,v2) | 返回表达式 expr 得到不同运算结果时对应的值。若 expr 为TRUE(expr<>0 and expr<>null), 则 IF( ) 的返回值为 v1,否则为 v2 |
IFNULL(v1,v2) | 返回参数 v1 或 v2 的值。如果 v1 不为 null,则返回值为 v1,否则返回值为 v2 |
示例:
公交集团将线路长度大于或等于 22 千米的线路定义为长途线路,小于 22 千米的线路定义为短途,并且将那些没有配备到具体公司的线路的所属公司定义为“待分配”。使用 IF() 和 IFNULL() 控制流函数显示所有线路的线路号、所属公司和线路类型(“长途”和“短途”)。如图:
select lineNo 线路 , ifnull(company,' 待分配 ') 所属公司 , if(miles>=22,' 长途 ',' 短途 ') 线路类型 from line
总结:
我们可以从中看出通过ifnull(company,' 待分配 ')进行判断,如果所属公司为空的话则自动填写为待分配;通过if(miles>=22,' 长途 ',' 短途 ') 进行判断,如果线路类型大于或等于22则为长途,反之则为短途。