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 pt-slave-restart工具的使用简介
Apr 07 MySQL
MySQL优化之如何写出高质量sql语句
May 17 MySQL
详解mysql三值逻辑与NULL
May 19 MySQL
安装配置mysql及Navicat prenium的详细流程
Jun 10 MySQL
MySQL索引是啥?不懂就问
Jul 21 MySQL
SQL之各种join小结详细讲解
Aug 04 MySQL
MySQL数据库超时设置配置的方法实例
Oct 15 MySQL
进阶篇之linux环境下安装MySQL数据库
Apr 09 MySQL
mysql使用 not int 子查询隐含陷阱
Apr 12 MySQL
mysql 排序失效
May 20 MySQL
MySQL中正则表达式(REGEXP)使用详解
Jul 07 MySQL
MySQL远程无法连接的一些常见原因总结
Sep 23 MySQL
浅析InnoDB索引结构
Apr 05 #MySQL
mysql知识点整理
Apr 05 #MySQL
MySQL令人咋舌的隐式转换
Apr 05 #MySQL
MySQL锁机制
MySQL学习总结-基础架构概述
MySQL基础(二)
MySQL基础(一)
Apr 05 #MySQL
You might like
用PHP与XML联手进行网站编程代码实例
2008/07/10 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
2017/02/05 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
JS事件Event元素(兼容IE,Firefox,Chorme)
2012/11/01 Javascript
JavaScript语言核心数据类型和变量使用介绍
2013/08/23 Javascript
js实现文章文字大小字号功能完整实例
2014/11/01 Javascript
基于jquery和svg实现超炫酷的动画特效
2014/12/09 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
javascript实现简单的鼠标拖动效果实例
2015/04/10 Javascript
js模拟淘宝网的多级选择菜单实现方法
2015/08/18 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
动态加载css方法实现和深入解析
2017/01/18 Javascript
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
jQuery判断网页是否已经滚动到浏览器底部的实现方法
2017/10/27 jQuery
vue-cli构建项目下使用微信分享功能
2018/05/28 Javascript
微信小程序冒泡事件及其阻止方法实例分析
2018/12/06 Javascript
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
python中Flask框架简单入门实例
2015/03/21 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
Python3.6简单反射操作示例
2018/06/14 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
用python解压分析jar包实例
2020/01/16 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
Java的类可以定义为Protected或者Private得吗
2015/09/25 面试题
毕业生的自我评价
2013/12/30 职场文书
工作表扬信的范文
2014/01/10 职场文书
酒店秘书求职信范文
2014/02/17 职场文书
摘录式读书笔记
2015/07/01 职场文书
java设计模式--三种工厂模式详解
2021/07/21 Java/Android
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis