操作一行数据返回一行数据,操作10行数据返回10行数据
数值型函数
绝对值
select abs(100),abs(-100) from number;
正负值
-- 判断数字的正负值 -- 返回1 正值 -- 返回-1 负值 -- 返回0 0 select sign(100),sign(-100),sign(0) from number;
返回较大的最小整数
-- 向上取整 select ceil(3.1) from number;
返回较小的最大整数
-- 向下取整 select floor(3.1) from number;
返回x的y次幂
select power(2,3) from number;
取余:mod(x,y)
四舍五入:round()
截取后的值:trunc()
长度
select name , length(name) from user;
截取
-- SUBSTR 截取 (第1个字符 + 3个字符长度) select name,SUBSTR(name,1,3) from user;
大小写
-- upper 大写 -- lower 小写 select name,upper(name),lower(name) from user;
拼接
select CONCAT(name,'=',id) from user;
替换
-- 将name 中 'T' 替换为 '-' select name,REPLACE(name,'T','-') from user;
获取当前系统时间
select sysdate() from user; select birdate,CURRENT_DATE(),CURRENT_TIME(),CURRENT_TIMESTAMP() from user;
日期转换
-- 格式显示年月日 时分秒 select DATE_FORMAT(sysdate(),'%Y-%m-%d %H:%i:%s') from user;
分别获取 年月日 时分秒 星期
-- EXTRACT 获取函数 -- SECOND秒 MINUTE分钟 HOUR小时 DAY天 WEEK星期 MONTH月 YEAR年 select EXTRACT(MINUTE FROM sysdate())
日期的加减操作
-- 将当前的日期增加9天 select ADDDATE(now(),9) from user; -- 将当前的日期减去9天 select ADDDATE(now(),-9) from user; -- 将字符串格式成时间格式 select DATE('2021-9-1');
转换函数
日期转字符串
date_format(date,expr) select DATE_FORMAT(sysdate(),'%Y-%m-%d %H:%i:%s');
字符串转日期
select STR_TO_DATE('2021-9-1 20:2:23','%Y-%m-%d %H:%i:%s');
数字转字符串
直接拼接一个字符串,自动转换
字符串转数字
依靠函数提供的参数
空值函数:IFNULL(colum,value)
-- 将id与age相加,如果age为null,则处理为0 select id+IFNULL(age,0) from user;
加密处理
select MD5("amazing") from user;
不管函数处理多少条,只返回一条记录
分为多个组时,返回的记录与组数相同
不能将组函数和普通列写在一起查询
返回最大值:max
返回最小值:min
返回平均值:avg
返回求和:sum
返回求总数:count
select max(grade), min(grade), sum(grade),count(id),avg(grade) from class;