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基础知识点汇总
May 26 MySQL
Mysql数据库索引面试题(程序员基础技能)
May 31 MySQL
mysql外连接与内连接查询的不同之处
Jun 03 MySQL
MySQL子查询中order by不生效问题的解决方法
Aug 02 MySQL
MyBatis 动态SQL全面详解
Oct 05 MySQL
Mysql数据库手动及定时备份步骤
Nov 07 MySQL
MySQL 服务和数据库管理
Nov 11 MySQL
mysql函数全面总结
Nov 11 MySQL
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
Feb 12 MySQL
千万级用户系统SQL调优实战分享
Mar 03 MySQL
Mysql中的触发器定义及语法介绍
Jun 25 MySQL
Mysql中mvcc各场景理解应用
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
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
php数组函数序列之in_array() 查找数组值是否存在
2011/10/29 PHP
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
微信公众平台开发教程②微信端分享功能图文详解
2019/04/10 PHP
php引用和拷贝的区别知识点总结
2019/09/23 PHP
jQuery.clean使用方法及思路分析
2013/01/07 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
JavaScript实现经典排序算法之选择排序
2016/12/28 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
Layui Form 自定义验证的实例代码
2019/09/14 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
Python探索之修改Python搜索路径
2017/10/25 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
python获取当前目录路径和上级路径的实例
2018/04/26 Python
基于spring boot 日志(logback)报错的解决方式
2020/02/20 Python
SQL Server面试题
2016/10/17 面试题
承认错误的检讨书
2014/01/30 职场文书
期末自我鉴定
2014/02/02 职场文书
安全宣传标语
2014/06/10 职场文书
部队2014年终工作总结
2014/11/27 职场文书
工程合作意向书范本
2015/05/09 职场文书
天河观后感
2015/06/11 职场文书
生日赠语
2015/06/23 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
tensorflow中的数据类型dtype用法说明
2021/05/26 Python
对讲机的最大通讯距离是多少
2022/02/18 无线电