sql也是一种编程语言,它里面也有函数,分为内置得函数和自定义得函数(高级)。
内置函数:
1.聚合函数。
2.字符串函数。---操作字符串
3.时间函数--->操作得时间
4.算术函数--->数学操作。
5.其他函数
1. 聚合函数
聚合函数总共有5个:
max(列名):求某列的最大值。
min(列名):求某列的最小值。
sum(列名):求某列的和
avg(列名):求某列的平均值
count(列名):求某列的个数
-- 求最大的年龄
select max(age) 表名;
-- 求最小的年龄
select min(age) from 表名;
-- 求年龄的和
select sum(age) from 表名;
-- 求学生的个数.
select count(id) from 表名;
-- 求年龄平局值
select avg(age) from 表名;
2. 字符串函数。---操作字符串
常用函数:
-- 字符串拼接函数
select name from 表名;
select concat('我的名字叫:',name,",年龄:",age) as n from 表名;
-- 字符串转换为大写和小写
select name,upper(name),LOWER(name) from 表名;
-- 去除前后空格
select address,trim(address) from 表名;
-- 找到姓李得学生 字符串得截取
select * from 表名 where name like '李%';
select * from 表名 where substr(name,1,1)='李'
3. 数字函数
常见函数:
-- 向上取整 5.1你给定得值
select ceil(5.1),floor(5.9),mod(10,3),abs(-5.9) from 表名;
-- 要求如果status为0变为1 为1变为0 update
update aaa set status=abs(status-1);
4. 时间函数
常用函数:
-- CURDATE()返回当前日期 后面可以不用跟表名
select curdate();
-- 可以用在where
select * from 表名 where curdate()-entrydate=1
-- CURTIME()返回当前时间
select curtime() ;
-- NOW()返回当前日期和时间
select now();
-- YEAR(date)获取指定date的年份
select year('2022-04-25');
select * from 表名 where year(entrydate)=2022
-- DATE_ADD(date, INTERVAL expr type)返回一个日期/时间值加上一个时间间隔expr后的时间值
SELECT DATE_ADD('2020-04-25', INTERVAL 3 YEAR);
-- DATEDIFF(date1, date2)返回起始时间date1和结束时间date2之间的天数
select datediff('2020-05-25','2020-04-25');
-- 入职30天得员工.
select * from 表名 where DATEDIFF(now(),entrydate)>30
5. 流程函数
常用函数:
-- 如果年龄>30妇女 否则少女
select age,if(age>30,'妇女','少女') from 表名;
-- ifnull 如果为null,则
select job,ifnull(job,'工作待定') from 表名;