目录
目录
1、SUM():求和。常与GROUP BY一起使用,也可单独使用
2、AVG():求平均值。常与GROUP BY一起使用,也可单独使用
3、MAX():求最大值。常与GROUP BY一起使用,也可单独使用
4、MIN():求最小值。常与GROUP BY一起使用,也可单独使用
5、COUNT():统计记录的条数。常与GROUP BY一起使用,也可单独使用
一、函数定义
1.类似Java定义方法
2.可以带参数
3.必须有返回值(一行一列) ,重点:java方法可以没有返回值,数据库函数必须要有返回值
select max(score) from sc;
4.函数可以嵌套到sql语句中
注:存储过程则不可以
5.函数可嵌套调用 round(avg)
二、常用函数
1、日期函数
1) NOW():获取当前日期和时间
select now();
2) DAY():获取日期中的天
select day(NOW());
3) MONTH():获取日期中的月
select month(now());
4) YEAR():获取日期中的年
select year(now())
5) 日期转换函数DATE_FORMAT()/STR_TO_DATE()
select now(),DATE_FORMAT(now(),'%Y年%m月%d日')
DATE_FORMAT():将日期转换成字符串
STR_TO_DATE():将字符串转换成日期
select STR_TO_DATE('2022-06-08','%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;
查询本月过生日的学生
select * from t_student where month(now())=month(sage);
查询下月过生日的学生
select * from t_student where month(now())+1=month(sage);
date_add(NOW(), interval 1 MONTH)
select * from t_student where DATE_ADD(now(),INTERVAL 1 month)=month(sage);
select DATE_ADD(now(),INTERVAL 1 month);
5)运行结果:
2、字符串函数
1) UPPER()/LOWER():大小写互转
select upper(' my name is zhuxingwen ');
select lower(' HAO NAN REN WENWEN ');
2) REPLACE():搜索并替换字符串中的子字符串
select uuid(),REPLACE(uuid(),'-',' ');
3) SUBSTRING():从具有特定长度的位置开始的最一个子字符串
select SUBSTRING('zhang san is a person',1,5);
select SUBSTRING('zhang san is a person',5);
4) TRIM():去除前后空格
5) LENGTH():获取字符串长度
select length(' zhang san is a person '),length(trim('zhang san is a person '))
6) CONCAT():合并字符串函数,返回结果为连接参数产生