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 相关文章推荐
left join、inner join、right join的区别
Apr 05 MySQL
mysql部分操作
Apr 05 MySQL
MySQL InnoDB ReplicaSet(副本集)简单介绍
Apr 24 MySQL
MySQL数据迁移相关总结
Apr 29 MySQL
MySQL库表名大小写的选择
Jun 05 MySQL
安装配置mysql及Navicat prenium的详细流程
Jun 10 MySQL
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
Jun 26 MySQL
MySQL深度分页(千万级数据量如何快速分页)
Jul 25 MySQL
MYSQL 运算符总结
Nov 11 MySQL
Windows下载并安装MySQL8.0.x 版本的完整教程
Apr 10 MySQL
mysql 子查询的使用
Apr 28 MySQL
MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决
Dec 24 MySQL
浅析InnoDB索引结构
Apr 05 #MySQL
mysql知识点整理
Apr 05 #MySQL
MySQL令人咋舌的隐式转换
Apr 05 #MySQL
MySQL锁机制
MySQL学习总结-基础架构概述
MySQL基础(二)
MySQL基础(一)
Apr 05 #MySQL
You might like
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
PHP数据库操作三:redis用法分析
2017/08/16 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
javascript检测对象中是否存在某个属性判断方法小结
2013/05/19 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
Vue.js2.0中的变化小结
2017/10/24 Javascript
使用layer弹窗和layui表单实现新增功能
2018/08/09 Javascript
微信小程序实现图片上传
2019/05/23 Javascript
IE11下处理Promise及Vue的单项数据流问题
2019/07/24 Javascript
对Layer UI 模块化的用法详解
2019/09/26 Javascript
[01:01:51]EG vs VG Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python argv用法详解
2016/01/08 Python
Python 搭建Web站点之Web服务器网关接口
2016/11/06 Python
python实现协同过滤推荐算法完整代码示例
2017/12/15 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
德尔福集团DELPHI的笔试题
2012/02/22 面试题
学生自我评价范文
2014/02/02 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
Java中try catch处理异常示例
2021/12/06 Java/Android
JavaScript实现两个数组的交集
2022/03/25 Javascript