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函数 单行函数其五 流程控制函数 & 单行函数总结的更多相关文章

  1. mysql学习第三天练习(流程控制函数)

    -- 流程控制函数 -- 1.查询员工部门号,并赋予部门名 select empno,ename,deptno,case deptno then '10部门' then '20部门' else '30 ...

  2. 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 ...

  3. mysql执行sql语句过程

    开发人员基本都知道,我们的数据存在数据库中(目前最多的是mysql和oracle,由于作者更擅长mysql,所以这里默认数据库为mysql),服务器通过sql语句将查询数据的请求传入到mysql数据库 ...

  4. MySQL基础架构之查询语句执行流程

    这篇笔记主要记录mysql的基础架构,一条查询语句是如何执行的. 比如,在我们从student表中查询一个id=2的信息 select * from student where id=2; 在解释这条 ...

  5. MySQL 进阶4 SQL常见函数: 字符函数/数学函数/日期函数/流程控制函数(if/case)

    # 进阶4 SQL常见函数 分类: 1/单行函数: 字符函数: concat(),length(),ifnull(__,default) ,instr(), trim(),upper(),lower( ...

  6. python操作MySQL,SQL注入的问题,SQL语句补充,视图触发器存储过程,事务,流程控制,函数

    python操作MySQL 使用过程: 引用API模块 获取与数据库的连接 执行sql语句与存储过程 关闭数据库连接 由于能操作MySQL的模块是第三方模块,我们需要pip安装. pip3 insta ...

  7. (2.16)Mysql之SQL基础——函数

    (2.16)Mysql之SQL基础——函数 关键词:mysql函数,mysql自定义函数,mysql聚合函数,mysql字符串函数,mysql数值函数 1.自定义函数 -- (1)一般形式 creat ...

  8. mysql的sql分页函数limit使用 (转)

    http://www.cnblogs.com/beijingstruggle/p/5631603.html mysql的sql分页函数limit使用 My sql数据库最简单,是利用mysql的LIM ...

  9. MySQL之视图、触发器、事务、存储过程、函数

    一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...

  10. MySQL之视图、触发器、事务、存储、函数、流程控制

    一.视图 视图就是一个虚拟表,我们把复杂的sql语句后看到的虚拟表封装起来,给他取个名字,当我们下次使用的时候,就不用再去写复杂的sql语句,直接调用封装后的视图名字,就可以得到我们想要的表,然后就可 ...

随机推荐

  1. kettle从入门到精通 第五十课 ETL之kettle 课程源文件分享

    Kettle 是一款功能强大的开源 ETL 工具,被广泛应用于数据集成.数据转换和数据加载等领域.随着数据量和多样性的不断增加,使用 Kettle 进行数据处理已成为许多企业和数据工程师的首选.在过去 ...

  2. kettle从入门到精通 第二十八课 初识kettle-job

    1.前面我们一起学习了,很多转换的知识,转换为批量的开发做铺垫,今天我们一起来学习下kettle job的知识. kettle job 常用的步骤如下图,有Start.转换.作业.成功等步骤. 2.下 ...

  3. 深入剖析C++多态的实现与原理-详解

    目录 多态基础 虚函数 虚函数的继承 虚类/虚基类 重写/覆盖 条件: 概念: 多态的条件 其他的多态行为 多态中子类可以不写virtual 协变 代码举例 继承遗留问题解决 析构函数 具体解决方式: ...

  4. INFINI Labs 产品更新 | 修复 Easysearch 跨集群复制索引同步问题,Gateway 内存异常增长等问题

    INFINI Labs 产品又更新啦~,本次更新主要对 Easysearch.Gateway.Console.Agent 等产品功能进行优化和相关 Bug 修复,解决了内存异常增长等问题,以下是详细说 ...

  5. springboot之日志配置-logback

    springboot之日志配置-logback 1.为什么使用logback logback是springboot默认集成的,是基于Sl4J的日志框架. logback的内核重写了,使得在某些关键路径 ...

  6. javascript 生成器和迭代器

    前置知识 生成器函数会返回一种称为Generator的迭代器 迭代器是一个对象,定义一个序列,并在终止时返回一个返回值 Symbol.iterator为每一个对象定义了默认的迭代器,可以被for..o ...

  7. C#/.NET/.NET Core拾遗补漏合集(24年6月更新)

    前言 在这个快速发展的技术世界中,时常会有一些重要的知识点.信息或细节被忽略或遗漏.<C#/.NET/.NET Core拾遗补漏>专栏我们将探讨一些可能被忽略或遗漏的重要知识点.信息或细节 ...

  8. 关于Collection和Map的笔记

    此二者在日常编程中,用得太频繁,所以多少有必要记录下,便于需要的时候翻翻. 但鉴于它们的后代太多,逐一牢记有有点难度,所以学习上应该把握以下几点即可: 含义 重要区别 常用的实现类和工具 关注要点:有 ...

  9. QuartzNet暂停恢复会执行多次的问题解决

    ' var config = new System.Collections.Specialized.NameValueCollection { { "quartz.jobStore.misf ...

  10. 算法金 | Transformer,一个神奇的算法模型!!

    大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 抱个拳,送个礼 在现代自然语言处理(NLP)领域,Transformer 模型的出现带 ...