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 慢查询日志深入理解
Apr 22 MySQL
MySQL中你可能忽略的COLLATION实例详解
May 12 MySQL
MySQL 全文索引使用指南
May 25 MySQL
Mysql 设置boolean类型的操作
Jun 04 MySQL
mysql联合索引的使用规则
Jun 23 MySQL
mysql 数据插入优化方法之concurrent_insert
Jul 01 MySQL
MySQL query_cache_type 参数与使用详解
Jul 01 MySQL
MySQL如何解决幻读问题
Aug 07 MySQL
Mysql中一千万条数据怎么快速查询
Dec 06 MySQL
Mysql存储过程、触发器、事件调度器使用入门指南
Jan 22 MySQL
MySQL磁盘碎片整理实例演示
Apr 03 MySQL
MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
May 08 MySQL
浅析InnoDB索引结构
Apr 05 #MySQL
mysql知识点整理
Apr 05 #MySQL
MySQL令人咋舌的隐式转换
Apr 05 #MySQL
MySQL锁机制
MySQL学习总结-基础架构概述
MySQL基础(二)
MySQL基础(一)
Apr 05 #MySQL
You might like
中国收音机工业发展史
2021/03/02 无线电
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
PHP安全防范技巧分享
2011/11/03 PHP
thinkphp连贯操作实例分析
2014/11/22 PHP
PHP中trim()函数简单使用指南
2015/04/16 PHP
php实现数据库的增删改查
2017/02/26 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
JavaScript 输入框内容格式验证代码
2010/02/11 Javascript
Javascript 键盘事件的组合使用实现代码
2012/05/04 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
2016/07/01 Javascript
JavaScript数组方法大全(推荐)
2016/07/05 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
Angular.JS中select下拉框设置value的方法
2017/06/20 Javascript
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
2020/07/26 Javascript
python获得一个月有多少天的方法
2015/06/04 Python
让Python脚本暂停执行的几种方法(小结)
2019/07/11 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
详解CSS3中Media Queries的相关使用
2015/07/17 HTML / CSS
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
JAVA和C++区别都有哪些
2015/03/30 面试题
RIP版本1跟版本2的区别
2013/12/30 面试题
创联软件面试题笔试题
2012/10/07 面试题
社区国庆节活动方案
2014/02/05 职场文书
家长会学生演讲稿
2014/04/26 职场文书
主持人开幕词
2015/01/29 职场文书
教师个人成长总结
2015/02/11 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
演讲开场白台词大全
2015/05/29 职场文书
八一建军节主持词
2015/07/01 职场文书
vue项目支付功能代码详解
2022/02/18 Vue.js