且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

MySQL学习之流程函数

更新时间:2022-06-22 10:56:07

  本次分享将讲解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);#插入记录

创建的表格如下:
MySQL学习之流程函数
  使用IF函数如下:

select grade, if(grade>= 60,'pass','fail') as grade_judge from stu_grade;

输出结果如下:
MySQL学习之流程函数
  使用IFNULL函数如下:

select stu_id,grade, ifnull(grade,0) as new_grade from stu_grade;

输出结果如下:
MySQL学习之流程函数
  使用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学习之流程函数



  以上只是MySQL流程函数的简单例子,实际操作不免复杂,只有通过多多操作才能掌握并且熟练应用。如有不足之处,还请批评指正~~