本次分享将讲解MySQL中的流程函数的使用,函数如下:
- IF(value, t, f)函数:如果value是真,返回t;否则返回f.
- IFNULL(value1, value2)函数:如果value1不为空返回value1,否则返回value2.
- CASE WHEN [value1] THEN [result1]…ELSE [default]END 函数:如果value1为真,返回result1, 否则返回default
我们将结合具体实例展示这些函数的用法。首先新建一张表格stu_grade,储存stu_id和grade信息。
use test; #数据库
create table stu_grade(stu_id int primary key, grade decimal(4,2)); #创建表格
insert into stu_grade values (1,78), (2,80.5), (3,95), (4,47), (5,66), (6,null);#插入记录
创建的表格如下:
使用IF函数如下:
select grade, if(grade>= 60,'pass','fail') as grade_judge from stu_grade;
输出结果如下:
使用IFNULL函数如下:
select stu_id,grade, ifnull(grade,0) as new_grade from stu_grade;
输出结果如下:
使用CASE WHEN函数如下:
select stu_id,grade,
case when grade > 80 then 'good'
when grade between 60 and 80 then 'not bad'
else 'bad' end as grade_level
from stu_grade;
输出结果如下:
以上只是MySQL流程函数的简单例子,实际操作不免复杂,只有通过多多操作才能掌握并且熟练应用。如有不足之处,还请批评指正~~