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的Seconds_Behind_Master
May 18 MySQL
IDEA 链接Mysql数据库并执行查询操作的完整代码
May 20 MySQL
解决Navicat for Mysql连接报错1251的问题(连接失败)
May 27 MySQL
浅析MySQL如何实现事务隔离
Jun 26 MySQL
MySQL系列之十四 MySQL的高可用实现
Jul 02 MySQL
SpringBoot连接MySQL获取数据写后端接口的操作方法
Nov 02 MySQL
mysql中DCL常用的用户和权限控制
Mar 31 MySQL
mysql 8.0.27 绿色解压版安装教程及配置方法
Apr 20 MySQL
Mysql将字符串按照指定字符分割的正确方法
May 30 MySQL
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
Jun 14 MySQL
MySQL中正则表达式(REGEXP)使用详解
Jul 07 MySQL
分享很少见很有用的SQL功能CORRESPONDING
Aug 05 MySQL
浅析InnoDB索引结构
Apr 05 #MySQL
mysql知识点整理
Apr 05 #MySQL
MySQL令人咋舌的隐式转换
Apr 05 #MySQL
MySQL锁机制
MySQL学习总结-基础架构概述
MySQL基础(二)
MySQL基础(一)
Apr 05 #MySQL
You might like
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
将string解析为json的几种方式小结
2010/11/11 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
jQuery中scrollLeft()方法用法实例
2015/01/16 Javascript
js中substring和substr两者区别和使用方法
2015/11/09 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
如何用js实现鼠标向上滚动时浮动导航
2016/07/18 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python lambda和Python def区别分析
2014/11/30 Python
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
Python中装饰器兼容加括号和不加括号的写法详解
2017/07/05 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
Python实现微信小程序支付功能
2019/07/25 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
HTML5 Web 存储详解
2016/09/16 HTML / CSS
瑞士首家网上药店折扣店:McDrogerie
2020/12/22 全球购物
Linux如何压缩可执行文件
2014/03/27 面试题
成人毕业生自我鉴定
2013/10/18 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
有趣的广告词
2014/03/18 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
五年级学生期末评语
2014/12/26 职场文书
python树莓派通过队列实现进程交互的程序分析
2021/07/04 Python
Win11怎么把合并的任务栏分开 Win11任务栏合并分开教程
2022/04/06 数码科技
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers