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之DML语言
Apr 05 MySQL
Mysql服务添加 iptables防火墙策略的方案
Apr 29 MySQL
MySQL时间设置注意事项的深入总结
May 06 MySQL
解决Navicat for Mysql连接报错1251的问题(连接失败)
May 27 MySQL
MySQL系列之十一 日志记录
Jul 02 MySQL
mysql主从复制的实现步骤
Oct 24 MySQL
MySQL8.0升级的踩坑历险记
Nov 01 MySQL
MySQL的InnoDB存储引擎的数据页结构详解
Mar 03 MySQL
浅谈redis的过期时间设置和过期删除机制
Mar 18 MySQL
MySQL分区表管理命令汇总
Mar 21 MySQL
MySQL创建管理KEY分区
Apr 13 MySQL
为什么MySQL8新特性会修改自增主键属性
Apr 18 MySQL
浅析InnoDB索引结构
Apr 05 #MySQL
mysql知识点整理
Apr 05 #MySQL
MySQL令人咋舌的隐式转换
Apr 05 #MySQL
MySQL锁机制
MySQL学习总结-基础架构概述
MySQL基础(二)
MySQL基础(一)
Apr 05 #MySQL
You might like
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
2012/05/23 Javascript
JS格式化数字金额用逗号隔开保留两位小数
2013/10/18 Javascript
浅谈js常用内置方法和对象
2016/09/24 Javascript
详解Vue.js 2.0 如何使用axios
2017/04/21 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
react native仿微信PopupWindow效果的实例代码
2017/08/07 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
2019/03/06 Javascript
小程序新版订阅消息模板消息
2019/12/31 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
js实现计算器功能
2020/08/10 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
[37:45]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS Orenda
2014/05/22 DOTA
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
python用来获得图片exif信息的库实例分析
2015/03/16 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
python删除某个字符
2018/03/19 Python
PyQt5每天必学之单行文本框
2018/04/19 Python
Python二进制串转换为通用字符串的方法
2018/07/23 Python
python os模块简单应用示例
2019/05/23 Python
Pandas DataFrame数据的更改、插入新增的列和行的方法
2019/06/25 Python
pandas中的series数据类型详解
2019/07/06 Python
Django 删除upload_to文件的步骤
2020/03/30 Python
用python批量下载apk
2020/12/29 Python
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
包装类的功能、种类、常用方法
2012/01/27 面试题
护理自荐信范文
2013/10/05 职场文书
个人工作主要事迹
2014/05/08 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
python 三边测量定位的实现代码
2021/04/22 Python
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技