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 infobright的安装步骤
Apr 07 MySQL
Mysql效率优化定位较低sql的两种方式
May 26 MySQL
MySQL库表名大小写的选择
Jun 05 MySQL
MySQL为id选择合适的数据类型
Jun 07 MySQL
MySQL系列之四 SQL语法
Jul 02 MySQL
SQL实现LeetCode(180.连续的数字)
Aug 04 MySQL
MySQL 如何限制一张表的记录数
Sep 14 MySQL
MySQL利用UNION连接2个查询排序失效详解
Nov 20 MySQL
MySQL优化及索引解析
Mar 17 MySQL
浅谈MySql update会锁定哪些范围的数据
Jun 25 MySQL
mysql全面解析json/数组
Jul 07 MySQL
面试官问我Mysql的存储引擎了解多少
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 深入理解strtotime函数的使用详解
2013/05/23 PHP
PHP解析html类库simple_html_dom的转码bug
2014/05/22 PHP
PHP实现在线阅读PDF文件的方法
2015/06/17 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
php和html的区别点详细总结
2019/09/24 PHP
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
2011/05/28 Javascript
关于递归运算的顺序测试代码
2011/11/30 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
JS 两个字符串时间的天数差计算
2013/08/25 Javascript
深入探寻seajs的模块化与加载方式
2015/04/14 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
Bootstrap基本布局实现方法详解
2016/11/25 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
Vue2仿淘宝实现省市区三级联动
2020/04/15 Javascript
基于react后端渲染模板引擎noox发布使用
2018/01/11 Javascript
ES6 Promise对象的应用实例分析
2019/06/27 Javascript
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
Python开发之快速搭建自动回复微信公众号功能
2016/04/22 Python
Python线程指南详细介绍
2017/01/05 Python
python如何去除字符串中不想要的字符
2020/07/05 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
促销活动方案模板
2014/02/24 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
财务稽核岗位职责
2015/04/13 职场文书
2015年高中班主任工作总结
2015/04/30 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书
德生TECSUN S-2000使用手册文字版
2022/05/10 无线电