数学
ABS(x) 返回x的绝对值
SELECT ABS(-1)
CEILING(x) 返回大于x的最小整数值
SELECT CEILING(1.1)
FLOOR(x) 返回小于x的最大整数值
SELECT FLOOR(3.5)
MOD(x,y) 返回x/y的模(余数)
SELECT MOD(6,4)
PI() 返回pi的值(圆周率)
SELECT PI()
RAND() 返回0到1内的随机值
SELECT RAND()
ROUND(x,y) 返回参数x的四舍五入的有y位小数的值
SELECT ROUND(4.11111, 2)
TRUNCATE(x,y) 返回数字x截短为y位小数的结果
SELECT TRUNCATE(4.1111,3)
聚合
AVG(col) 返回指定列的平均值
SELECT AVG(e.salary) 平均薪资FROM employee AS e
COUNT(col) 返回指定列中非NULL值的个数
SELECT MIN(salary) 非NULL值的个数FROM employee
MIN(col) 返回指定列的最小值
SELECT MIN(salary) 最小值FROM employee
MAX(col) 返回指定列的最大值
SELECT MAX(salary) 最大值FROM employee
SUM(col) 返回指定列的所有值之和
SELECT SUM(id) sumFROM department
字符
CONCAT(s1,s2…,sn) 将s1,s2…,sn连接成字符串
CONCAT_WS(sep,s1,s2…,sn) 将s1,s2…,sn连接成字符串,并用sep字符间隔
TRIM(str) 去除字符串首部和尾部的所有空格
LTRIM(str) 从字符串str中切掉开头的空格
RTRIM(str) 返回字符串str尾部的空格
日期
CURDATE()或CURRENT_DATE() 返回当前的日期
SELECT CURDATE()
CURTIME()或CURRENT_TIME() 返回当前的时间
SELECT CURTIME()
TIMESTAMPDIFF(part, date1,date2) 返回date1到date2之间相隔的part值,part是用于指定的相隔的年或月或日等
part参数

SELECT TIMESTAMPDIFF(YEAR,'2000-1-1','2021-1-1')
-- 查询所有员工的年龄并按照升序排列SELECT TIMESTAMPDIFF(YEAR,birthday,CURDATE()) ageFROM employeeORDER BY AGE