MySQL入门命令之函数-单行函数-流程控制函数


Posted in MySQL onApril 05, 2021

1、if函数
if(表达式1,表达式2,表达式3) 如果表达式1成立则执行表达式2,否则执行表达式3。

mysql> select if(5>=5,'true','false');
+-------------------------+
| if(5>=5,'true','false') |
+-------------------------+
| true                    |
+-------------------------+
1 row in set (0.00 sec)
#实例
mysql> select last_name,commission_pct,if(commission_pct is null,'没奖金,呵呵','有奖金,嘻嘻') as beizhu
    -> from employees
    -> where commission_pct is null and salary>=17000 or commission_pct>=0.4;
+-----------+----------------+--------------+
| last_name | commission_pct | beizhu       |
+-----------+----------------+--------------+
| K_ing     |           NULL | 没奖金,呵呵 |
| Kochhar   |           NULL | 没奖金,呵呵 |
| De Haan   |           NULL | 没奖金,呵呵 |
| Russell   |           0.40 | 有奖金,嘻嘻 |
+-----------+----------------+--------------+
4 rows in set (0.00 sec)

2、case
case 要判断的字段或函数表达式
when 常量1 then 要执行的语句或值;(为值是不要分号)

else 默认情况下执行;
end

示例一
mysql> select salary as 原始工资,department_id,
    -> case department_id
    -> when 30 then salary*1.1
    -> when 40 then salary*1.2
    -> when 50 then salary*1.3
    -> end as 新工资
    -> from employees
    -> where department_id in(30,40,50) and salary>7500;
+----------+---------------+----------+
| 原始工资 | department_id | 新工资   |
+----------+---------------+----------+
| 11000.00 |            30 | 12100.00 |
|  8000.00 |            50 | 10400.00 |
|  8200.00 |            50 | 10660.00 |
|  7900.00 |            50 | 10270.00 |
+----------+---------------+----------+
4 rows in set (0.00 sec)
示例二
mysql> SELECT last_name,salary,
    -> CASE
    -> WHEN salary>20000 THEN 'A'
    -> WHEN salary>15000 THEN 'B'
    -> WHEN salary>10000 THEN 'C'
    -> END AS dj
    -> FROM employees
    -> WHERE salary>=17000;
+-----------+----------+------+
| last_name | salary   | dj   |
+-----------+----------+------+
| K_ing     | 24000.00 | A    |
| Kochhar   | 17000.00 | B    |
| De Haan   | 17000.00 | B    |
+-----------+----------+------+
3 rows in set (0.00 sec)

 

MySQL 相关文章推荐
MySQL基础(二)
Apr 05 MySQL
详解MySQL事务的隔离级别与MVCC
Apr 22 MySQL
MySQL kill不掉线程的原因
May 07 MySQL
使用ORM新增数据在Mysql中的操作步骤
Jul 26 MySQL
关于MySQL中的 like操作符详情
Nov 17 MySQL
SQL优化老出错,那是你没弄明白MySQL解释计划用法
Nov 27 MySQL
SQL基础查询和LINQ集成化查询
Jan 18 MySQL
Mysql Innodb存储引擎之索引与算法
Feb 15 MySQL
一文弄懂MySQL索引创建原则
Feb 28 MySQL
Mysql调整优化之四种分区方式以及组合分区
Apr 13 MySQL
Mysql 文件配置解析介绍
May 06 MySQL
浅析InnoDB索引结构
Apr 05 #MySQL
mysql知识点整理
Apr 05 #MySQL
MySQL令人咋舌的隐式转换
Apr 05 #MySQL
MySQL锁机制
MySQL学习总结-基础架构概述
MySQL基础(二)
MySQL基础(一)
Apr 05 #MySQL
You might like
php实现的发送带附件邮件类实例
2014/09/22 PHP
laravel框架与其他框架的详细对比
2019/10/23 PHP
jQuery使用手册之一
2007/03/24 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
Javascript 闭包引起的IE内存泄露分析
2012/05/23 Javascript
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
node.js中的fs.open方法使用说明
2014/12/17 Javascript
node.js中的fs.futimesSync方法使用说明
2014/12/17 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
vue日历/日程提醒/html5本地缓存功能
2019/09/02 Javascript
JavaScript 反射和属性赋值实例解析
2019/10/28 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
JQuery通过键盘控制键盘按下与松开触发事件
2020/08/07 jQuery
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
浅谈matplotlib.pyplot与axes的关系
2020/03/06 Python
利用keras使用神经网络预测销量操作
2020/07/07 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
泰国综合购物网站:Lazada泰国
2018/04/09 全球购物
Nike荷兰官方网站:Nike.com (NL)
2018/04/19 全球购物
美国肌肉和力量商店:Muscle & Strength
2019/06/22 全球购物
2014组织生活会方案
2014/05/19 职场文书
私营公司诉讼代理委托书范本
2014/09/13 职场文书
公司财务部岗位职责
2015/04/14 职场文书
党支部创先争优公开承诺书
2015/04/30 职场文书
投诉书范文
2015/07/02 职场文书
2016国庆促销广告语
2016/01/28 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL
对讲机的最大通讯距离是多少
2022/02/18 无线电
浅谈Redis跟MySQL的双写问题解决方案
2022/02/24 Redis
Python学习之时间包使用教程详解
2022/03/21 Python