MySQL函数

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: MySQL函数


1.CASE 函数、

简答case函数:

计算测试表达式,按从上到下的书写顺序将测试表达式的值与每个WHEN子句的简单表达式进行比较。如果某个简单表达式的值与测试表达式的值相等,则返回第一个与之匹配的when 子句所对应的结果表达式的值。如果所有简单表达式的值与测试表达式的值都不相等,若指定了else子句,则返回else子句中指定的结果表达式的值;若没有指定else子句,则返回null。

case 测试表达式
when 简单表达式1 then 结果表达式1
when 简单表达式2 then 结果表达式2...
when 简单表达式n then 结果表达式n
else 结果表达式n+1
end
 
--示例:
select 班号,班名,
case 系号
when 1 then '软件工程系'
when 2 then '计算机系'
when 3 then '物联网系'
end as 系号 ,班主任号
from 班级表

搜索case函数:

按从上到下的书写顺序计算每个WHERE子句的布尔表达式。返回第一个取值为true的布尔表达式所对应的值。如果没有取值为true的布尔表达式,则当指定了else 子句时,返回else子句中指定的结果;如果没有指定else子句,则返回null。

case
when 布尔表达式1 then 结果表达式1
when 布尔表达式2 then 结果表达式2...
when 布尔表达式n then 结果表达式n
else 结果表达式n+1
end
 
--示例:
select 班号,班名
case
when 系号=1 then '软件工程系'
when 系号=2 then '计算机系'
when 喜好=3 then '物联网系'
end as 系号,班主任号
from 班级表

例:

(1)统计班男生和女生的数量各是多少,统计结果的标头为,班号,男生数量,女生数量。

select 班号
count (case when 性别='男' then '男' end) 男生数,
count (case when 性别='女' then '女' end) 女生数,
from 学生表 group by 班号

(2)判断成绩的等级,85-100为“优”,70-84为“良”,60-69为“及格”,60以下为“不及格”,并统计每一等级的人数

select 
case
when grade between 85 and 100 then '优'
when grade between 70 and 84 then '良'
when grade between 60 and 69 then '及格'
else '不及格'
end 等级,count(*) 人数
from SC group by 等级;

2. INTERVAL


(1) 当 interval 作为一个函数是, 它被当做一个比较函数, 即 interval(), 如 interval(4,0,1,2,3,4,5,6), 则在函数中,第一个数 4 作为被比较数, 后面的0,1,2,3,4,5,6 为比较数, 然后将后面的数字依次与4进行比较, 返回小于等于4 的个数, 所以上述结果为5 , 注意,只有将4 后面的数字从小到大进行排列, interval 函数才能正常使用, 若排序混乱, 可以使用,但会影响最终结果


(2)interval 最为关键字时


当 interval 作为一个关键字时, 表示时间间隔, 常用在 date_add(), data_sub()函数中,常用时间的加减法. 查询当前时间之前2 小时的日期: select now () - interval 2 hours;

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
存储 SQL 关系型数据库
MySQL 存储函数及调用
本文主要介绍了MySQL存储函数及调用的方法,介绍了存储函数的示例,如何在MySQL中创建存储函数,以及介绍了MySQL中如何创建触发器,一目了然。在MySQL中,存储函数是预定义的SQL逻辑单元,可接收参数并返回单个值。创建存储函数使用`CREATE FUNCTION`语句,如示例中的`square_number`函数,它接收一个整数并返回其平方。调用存储函数就像调用普通函数一样,例如在`SELECT`语句中。存储函数可用于简化复杂逻辑,提高效率。此外,还可以通过`DROP FUNCTION`删除不再需要的函数。示例展示了不同场景下的存储函数应用,包括数字运算、字符串处理和逻辑判断。
80 2
|
15天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
15天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(1)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
7天前
|
关系型数据库 MySQL 开发者
Mysql COUNT() 函数详解
【6月更文挑战第19天】Mysql COUNT() 函数详解,包括 COUNT() 的用法及 COUNT() 带条件查询的操作
|
8天前
|
SQL 关系型数据库 MySQL
MySQL数据库基础第二篇(函数)
MySQL数据库基础第二篇(函数)
|
8天前
|
关系型数据库 MySQL
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
12 1
|
9天前
|
关系型数据库 MySQL 数据挖掘
|
13天前
|
存储 SQL 关系型数据库
MySQL存储过程和存储函数的使用
MySQL的存储过程和存储函数在功能和用法上有明显的区别。存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,通过指定名称和参数(如果有)来调用执行,可以返回多个值或结果集,但不直接返回值。而存储函数则是一个有返回值的特殊存储过程,它返回一个值或表对象,可以直接嵌入SQL语句中使用,如SELECT语句中。两者都是为了提高SQL代码的重用性和性能,但使用场景和方式有所不同。
151 4
|
13天前
|
存储 安全 关系型数据库
MYSQL--存储函数
MYSQL--存储函数
|
15天前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(3)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】