【DataBase】MySQL 11 SQL函数 单行函数其五 流程控制函数 & 单行函数总结
SQL函数其五 流程控制函数 & 单行函数总结
视频参考自:P43 - P52
https://www.bilibili.com/video/BV1xW411u7ax
单IF函数使用
-- 流程控制函数?
-- if (布尔表达式,表达式1,表达式2) 当参数1为真时,返回参数2表达式,反之返回参数3
SELECT IF(10>5,'YES IS BIGER!!','NO SUCKER!!'); SELECT `last_name`,`commission_pct`,IF(`commission_pct` IS NULL,"TRUE 没奖金!!","FALSE 有奖金")
FROM `employees`;
CASE函数的第一种
-- case函数
/*
MySQL的SWITCH-CASE case 要判断的字段或表达式
when 常量1 then 要显示的值1或者语句;
when 常量2 then 要显示的值2或者语句;
...
else 要显示的值n或者语句n;
end
*/ /*
案例 查询员工的工资,要求
部门号 = 30 工资1.3倍
部门号 = 40 工资1.4倍
部门号 = 50 工资1.5倍
*/
SELECT
`salary`,
`department_id`, CASE `department_id`
when 30 then `salary` * 1.3
WHEN 40 THEN `salary` * 1.4
WHEN 50 THEN `salary` * 1.5
else `salary`
end as new_salary from `employees`;
CASE函数的第二种
-- 第二种
/*
case
when 条件1 then 要返回的值1或语句1
when 条件2 then 要返回的值2或语句2
when 条件3 then 要返回的值3或语句3
else 条件n then 要返回的值n或语句n
end;
*/ -- 案例
/*
如果工资>20000,显示A级别
如果工资>15000,显示B级别
如果工资>10000,显示C级别
否则D级别
*/ SELECT `last_name`,`salary`, CASE
WHEN `salary`>20000 THEN 'LEVEL A'
WHEN `salary`>15000 THEN 'LEVEL B'
WHEN `salary`>10000 THEN 'LEVEL C'
ELSE 'LEVEL D'
END AS new_salary FROM `employees`
ORDER BY new_salary;
单行函数的总结:
【字符函数】https://www.cnblogs.com/mindzone/p/12784483.html
- 1、length
- 2、concat
- 3、substr
- 4、instr
- 5、trim
- 6、upper & lower
- 7、lpad & rpad
- 8、replace
【数值函数】https://www.cnblogs.com/mindzone/p/12784594.html
- 1、round
- 2、ceil
- 3、floor
- 4、truncate
- 5、mod
【日期函数】https://www.cnblogs.com/mindzone/p/12784932.html
- 1、now
- 2、curdate
- 3、curtime
- 4、year
- 5、month
- 6、monthname
- 7、day
- 8、hour
- 9、minute
- 10、str_date
- 11、date_format
【其他函数】https://www.cnblogs.com/mindzone/p/12784974.html
- 1、version
- 2、database
- 3、user
【控制函数】
- 1、if
- 2、case
【DataBase】MySQL 11 SQL函数 单行函数其五 流程控制函数 & 单行函数总结的更多相关文章
- mysql学习第三天练习(流程控制函数)
-- 流程控制函数 -- 1.查询员工部门号,并赋予部门名 select empno,ename,deptno,case deptno then '10部门' then '20部门' else '30 ...
- Importing/Indexing database (MySQL or SQL Server) in Solr using Data Import Handler--转载
原文地址:https://gist.github.com/maxivak/3e3ee1fca32f3949f052 Install Solr download and install Solr fro ...
- mysql执行sql语句过程
开发人员基本都知道,我们的数据存在数据库中(目前最多的是mysql和oracle,由于作者更擅长mysql,所以这里默认数据库为mysql),服务器通过sql语句将查询数据的请求传入到mysql数据库 ...
- MySQL基础架构之查询语句执行流程
这篇笔记主要记录mysql的基础架构,一条查询语句是如何执行的. 比如,在我们从student表中查询一个id=2的信息 select * from student where id=2; 在解释这条 ...
- MySQL 进阶4 SQL常见函数: 字符函数/数学函数/日期函数/流程控制函数(if/case)
# 进阶4 SQL常见函数 分类: 1/单行函数: 字符函数: concat(),length(),ifnull(__,default) ,instr(), trim(),upper(),lower( ...
- python操作MySQL,SQL注入的问题,SQL语句补充,视图触发器存储过程,事务,流程控制,函数
python操作MySQL 使用过程: 引用API模块 获取与数据库的连接 执行sql语句与存储过程 关闭数据库连接 由于能操作MySQL的模块是第三方模块,我们需要pip安装. pip3 insta ...
- (2.16)Mysql之SQL基础——函数
(2.16)Mysql之SQL基础——函数 关键词:mysql函数,mysql自定义函数,mysql聚合函数,mysql字符串函数,mysql数值函数 1.自定义函数 -- (1)一般形式 creat ...
- mysql的sql分页函数limit使用 (转)
http://www.cnblogs.com/beijingstruggle/p/5631603.html mysql的sql分页函数limit使用 My sql数据库最简单,是利用mysql的LIM ...
- MySQL之视图、触发器、事务、存储过程、函数
一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...
- MySQL之视图、触发器、事务、存储、函数、流程控制
一.视图 视图就是一个虚拟表,我们把复杂的sql语句后看到的虚拟表封装起来,给他取个名字,当我们下次使用的时候,就不用再去写复杂的sql语句,直接调用封装后的视图名字,就可以得到我们想要的表,然后就可 ...
随机推荐
- python-将多个表格的信息合并到一个表格中
1.环境 代码运行环境:python3.7 相关的库:xlrd.xlwt 2.目的 通过xlrd库读取各个表格的数据,通过xlwt库将读取到的数据写入到一个表格中. 3.实现 在工程目录下,有一个te ...
- while适用于不确定循环次数
// 当前有一个随机数,是生成100-999的随机数值 // 需要生成数值666,需要知道循环了多少次,才生成的666这个数值 // 我们可以通过循环来实现 ...
- LocalDateTime应用比较日期
//需求1:当天的日期且时间在9~24点之间的开始时间 LocalDateTime nowTime= LocalDateTime.now(); int year = nowTime.getYear() ...
- gitlab角色与权限
用户在项目中的角色 Guest:访客.可以创建issue.发表评论,不能读写版本库.(就是看不了代码-) Reporter:Git项目测试人员.可以克隆代码,不能提交.QA.PM可以赋予这个权限. D ...
- 嵌入式编程中使用qemu能够做什么?
嵌入式编程中使用qemu能够做什么? 背景 学习QEMU以后,为了拓展视野,才发现QEMU可以做这么多的事情. 原文链接(有删改):https://www.eet-china.com/mp/a5634 ...
- Linux 内核:设备树(4)设备树中各个节点是谁转换的
Linux 内核:设备树(4)设备树中各个节点是谁转换的 背景 之前,我们在<把device_node转换成platfrom_device>中提到在设备树的device_node到plat ...
- [python] Python日志记录库loguru使用指北
Loguru是一个功能强大且易于使用的开源Python日志记录库.它建立在Python标准库中的logging模块之上,并提供了更加简洁直观.功能丰富的接口.Logging模块的使用见:Python日 ...
- P6631 [ZJOI2020] 序列题解
难度:困难 主要算法:贪心 题目链接:https://www.luogu.com.cn/problem/P6631 解题思路 简化问题:定义直线为覆盖ai,ai+1,ai+2 的操作,跳线为覆盖ai, ...
- 深度长文解析SpringWebFlux响应式框架15个核心组件源码
Spring WebFlux 介绍 Spring WebFlux 是 Spring Framework 5.0 版本引入的一个响应式 Web 框架,它与 Spring MVC 并存,提供了一种全新的编 ...
- P9576 题解
赛时没仔细想,赛后才发现并不难. 将 \(l,r\) 与 \(l',r'\) 是否相交分开讨论. 假若不相交,那么 \(l',r' < l\) 或者 \(l',r' > r\) 并且 \( ...