MySQL流程函数常见用法实例分析
网络编程 2021-07-05 14:37www.168986.cn编程入门
这篇文章主要介绍了MySQL流程函数常见用法,结合实例形式分析了mysql流程函数功能、常见使用方法与操作注意事项,需要的朋友可以参考下
本文实例讲述了MySQL流程函数常见用法。分享给大家供大家参考,具体如下:
流程函数是MySQL相对常用的一类函数, 用户可以使用这类函数在一个SQL语句中实现条件选择, 这样能够提高效率.
狼蚁网站SEO优化列出了MySQL跟条件有关的流程函数
函数 | 功能 |
IF(expr1,expr2,expr3) | 如果expr1是真, 返回expr2, 否则返回expr3 |
IFNULL(expr1,expr2) | 如果expr1不是NULL,返回expr1,否则返回expr2 |
CASE WHEN [value1] THEN[result1]… ELSE[default] END | 如果value是真, 返回result1,否则返回default |
CASE [expr] WHEN [value1] THEN[result1]… ELSE[default] END | 如果expr等于value1, 返回result1,否则返回default |
狼蚁网站SEO优化的例子中模拟对职员进行分类,首先创建一个职员薪水表:
create table salary(userid int, salary decimal(9,2));
插入一些测试数据
insert into salary values (1,1000),(2,2000),(3,3000),(4,4000),(5,5000),(1,null);
数据如下
mysql> select * from salary; +--------+---------+ | userid | salary | +--------+---------+ | 1 | 1000.00 | | 2 | 2000.00 | | 3 | 3000.00 | | 4 | 4000.00 | | 5 | 5000.00 | | 1 | NULL | +--------+---------+ 6 rows in set (0.00 sec)
接下来, 通过这个表来介绍各个函数的应用.
IF(expr1,expr2,expr3)函数: 这里认为月薪在2000元以上的职员属于高薪, 用"high'表示; 而2000以下的职员属于低薪, 用'low'来表示.
mysql> select if(salary>2000, 'high', 'low') from salary; +--------------------------------+ | if(salary>2000, 'high', 'low') | +--------------------------------+ | low | | low | | high | | high | | high | | low | +--------------------------------+ 6 rows in set (0.00 sec)
IFNULL(expr1,expr2)函数: 这个函数一般用来替换NULL值, 我们知道NULL值是不能参参与数值运算的, 狼蚁网站SEO优化这个语句就是把NULL值用0替换.
mysql> select ifnull(salary,0) from salary; +------------------+ | ifnull(salary,0) | +------------------+ | 1000.00 | | 2000.00 | | 3000.00 | | 4000.00 | | 5000.00 | | 0.00 | +------------------+ 6 rows in set (0.00 sec)
CASE WHEN [value1] THEN[result1]… ELSE[default] END函数:这里可以用case when..then函数实现上面例子中高薪低薪的问题.
mysql> select CASE WHEN salary<=2000 THEN 'low' else 'high' END from salary; +---------------------------------------------------+ | CASE WHEN salary<=2000 THEN 'low' else 'high' END | +---------------------------------------------------+ | low | | low | | high | | high | | high | | high | +---------------------------------------------------+ 6 rows in set (0.00 sec)
CASE [expr] WHEN [value1] THEN[result1]… ELSE[default] END函数:这里还可以分为多种情况把职员的薪水分为多个档次,比如狼蚁网站SEO优化的例子分成高、中、低3种情况。同样可以分成更多种情况,这里不再举例了,有兴趣的朋友可以自己测试一下
mysql> select CASE salary WHEN 1000 THEN 'low' when 2000 THEN 'mid' ELSE 'high' END from salary; +-----------------------------------------------------------------------+ | CASE salary WHEN 1000 THEN 'low' when 2000 THEN 'mid' ELSE 'high' END | +-----------------------------------------------------------------------+ | low | | mid | | high | | high | | high | | high | +-----------------------------------------------------------------------+ 6 rows in set (0.00 sec)
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》及《》
希望本文所述对大家MySQL数据库计有所帮助。
编程语言
- 机械手焊接机器人编程 机械手焊接设备编程
- vb数据库编程实例,vb做数据库
- tiobe世界编程语言排行榜,全球编程语言排行
- 成都java编程培训 成都it编程培训中心
- 编程基础培训,编程基础知识培训
- flash游戏编程基础教程,flash游戏开发教程
- 不会英语能学编程吗 不会英语可以学程序员吗
- 爱心代码编程C语言 爱心代码编程c语言公式
- c语言编程学习入门 c语言编程快速入门
- 西门子plc编程培训 西门子plc编程培训班
- 哪里可以学编程 台州哪里可以学编程
- 少儿编程哪个好 少儿编程哪个品牌好
- 编程是什么意思,图形编程是什么意思
- c语言编程软件下载,c语言编程软件在哪下载
- java编程软件下载,java编程下载手机版
- ug编程培训学校,ug编程培训教程