当前位置:网站首页>MySQL之函数
MySQL之函数
2022-07-05 23:56:00 【lion tow】
目录
一、日期函数
1) NOW():获取当前日期和时间
2) DAY():获取日期中的天
3) MONTH():获取日期中的月
4) YEAR():获取日期中的年
5) 日期转换函数DATE_FORMAT()/STR_TO_DATE()
① NOW():获取当前日期和时间
select now();
②DAY():获取日期中的天
select day(now());
③MONTH():获取日期中的月
select MONTH(now());
④ YEAR():获取日期中的年
select year(now());
⑤日期转换函数DATE_FORMAT()/STR_TO_DATE()
DATE_FORMAT():将日期转换成字符串
select now(),DATE_FORMAT(now(),'%Y年%m月%d日')
STR_TO_DATE():将字符串转换成日期
select STR_TO_DATE('2022-12-12','%Y-%m-%d')
案例一:查询各学生的年龄,只按年份来算
select s.*,YEAR(now())-year(s.sage) from t_student s案例二:按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一
select s.*,YEAR(now())-year(s.sage)+if(month(now())<MONTH(s.sage),-1,0) from t_student s
案例三:查询本月过生日的学生(没有的话则显示为NULL)
select * from t_student where MONTH(now()) = MONTH(sage);
案例四:查询下月过生日的学生(两种方法):
select * from t_student where MONTH(now())+1 = MONTH(sage);
select * from t_student where date_add(NOW(), interval 1 MONTH) = MONTH(sage);
二、字符串函数
2.字符串函数
1) UPPER()/LOWER():大小写互转
2) REPLACE():搜索并替换字符串中的子字符串
3) SUBSTRING():从具有特定长度的位置开始的最一个子字符串
4) TRIM():去除前后空格
5) LENGTH():获取字符串长度
6) CONCAT():合并字符串函数,结果为连接参数产生的字符串,参数可以是一个或多个
3.数字函数
1)FLOOR:向下取整
2)CEIL: 向上取整
3)ROUND:四舍五入
① UPPER() / LOWER():大小写互转
select upper(' beautiful girl ')
select lower(' GOOD MAN') 

②REPLACE():搜索并替换字符串中的子字符串
select 'zhangqiag',REPLACE('zhang-qiag','-',' ');

③ SUBSTRING():从具有特定长度的位置开始的最一个子字符串
select SUBSTRING('zhang qiang na li',2,5)//从第几个开始到第几个结束
select SUBSTRING('zhang qiang na li',5)//从第几个开始,直到结束 ④ TRIM():去除前后空格
⑤ LENGTH():获取字符串长度
select LENGTH(' zhang qiang na li'),LENGTH(trim(' zhang qiang na li '))
⑥CONCAT():合并字符串函数,返回结果为连接参数产生的字符串,参数可以是一个或多个
select CONCAT('zhangqiang111','nali222');
⑦FLOOR:向下取整
⑧CEIL: 向上取整
⑨ROUND:四舍五入
select FLOOR(-3.14),FLOOR(3.14), CEIL(-3.14), CEIL(3.14),round(-3.14),round(3.14)
三、条件判断函数
1)IF(expr,v1,v2) 如果expr是TRUE则返回v1,否则返回v2
2)IFNULL(v1,v2) 如果v1不为NULL,则返回v1,否则返回v2
3)CASE expr WHEN v1 THEN r1 [WHEN v2 THEN v2] [ELSE rn] END
如果expr等于某个vn,则返回对应位置THEN后面的结果,如果与所有值都不想等,则返回ELSE后面的rn
①IF(expr,v1,v2) 如果expr是TRUE则返回v1,否则返回v2
②IFNULL(v1,v2) 如果v1不为NULL,则返回v1,否则返回v2
SELECT
s.sid,
s.sname,
sum( IF ( sc.cid = '01', sc.score, 0 ) ) 语文,
sum( IF ( sc.cid = '02', sc.score, 0 ) ) 数学,
sum( IF ( sc.cid = '03', sc.score, 0 ) ) 英语
FROM
t_student s
LEFT JOIN t_score sc ON s.sid = sc.sid
GROUP BY s.sid,s.sname
③case ...when....
select
s.sid,s.sname,
SUM(case when sc.cid='01' then sc.score end) 语文,
SUM(case when sc.cid='02' then sc.score end) 数学 ,
SUM(case when sc.cid='03' then sc.score end) 英语
from
t_student s left join t_score sc on s.sid=sc.sid
group by s.sid,s.sname四、合并函数
1)UNION:将所有的查询结果合并到一起,然后去除掉相同的记录
2)UNION ALL:将所有的查询结果合并到一起,不会去除掉相同的记录
①UNION:将查询结果合并到一起,然后去除掉相同的记录
select 1,'zs',18
union
select 2,'ls',22
union
select 2,'ls',22②UNION ALL:将所有的查询结果合并到一起,不会去除掉相同的记录
select 1,'zs',18
union all
select 2,'ls',22
union all
select 2,'ls',22五、聚合函数
聚合函数(SUM/COUNT/AVG/MAX/MIN)
SUM():求和。常与GROUP BY一起使用,也可单独使用
AVG():求平均值。常与GROUP BY一起使用,也可单独使用
MAX():求最大值。常与GROUP BY一起使用,也可单独使用
MIN():求最小值。常与GROUP BY一起使用,也可单独使用
COUNT():统计记录的条数。常与GROUP BY一起使用,也可单独使用
上次分享过了这次在提一下!
边栏推荐
- 微信小程序---WXML 模板语法(附带笔记文档)
- Miaochai Weekly - 8
- Initialiser votre vecteur & initialisateur avec une liste Introduction à la Liste
- VBA fast switching sheet
- 多普勒效應(多普勒頻移)
- CAS and synchronized knowledge
- Rasa 3. X learning series -rasa x Community Edition (Free Edition) changes
- 多普勒效应(多普勒频移)
- 时区的区别及go语言的time库
- 第16章 OAuth2AuthorizationRequestRedirectWebFilter源码解析
猜你喜欢

18. (ArcGIS API for JS) ArcGIS API for JS point collection (sketchviewmodel)

用列錶初始化你的vector&&initializer_list簡介

21. PWM application programming

开源crm客户关系统管理系统源码,免费分享

Senparc.Weixin.Sample.MP源码剖析

20220703 周赛:知道秘密的人数-动规(题解)

【LeetCode】5. Valid palindrome

5. Logistic regression

云呐|固定资产管理系统功能包括哪些?

软件测试工程师必会的银行存款业务,你了解多少?
随机推荐
NSSA area where OSPF is configured for Huawei equipment
关于结构体所占内存大小知识
云呐|公司固定资产管理系统有哪些?
What if the C disk is not enough? Let's see how I can clean up 25g of temp disk space after I haven't redone the system for 4 years?
el-cascader的使用以及报错解决
Effet Doppler (déplacement de fréquence Doppler)
Online yaml to CSV tool
PV静态创建和动态创建
权限问题:source .bash_profile permission denied
QT QPushButton details
【luogu P3295】萌萌哒(并查集)(倍增)
Zero rhino technology joined hands with the intelligence Club: the "causal faction" forum was successfully held, and the "causal revolution" brought the next generation of trusted AI
Qt 一个简单的word文档编辑器
上门预约服务类的App功能详解
Research notes I software engineering and calculation volume II (Chapter 1-7)
18. (ArcGIS API for JS) ArcGIS API for JS point collection (sketchviewmodel)
Yunna | what are the main operating processes of the fixed assets management system
Open3D 点云随机添加噪声
20220703 week race: number of people who know the secret - dynamic rules (problem solution)
Spire.PDF for NET 8.7.2





