数学函数主要用于数值计算,在统计分析、金额处理、坐标计算、随机取样等场景中经常会用到。
ABS() 用于返回一个数的绝对值:
SELECT ABS(-10);
SELECT ABS(5);结果分别是:
105
PI() 用于返回圆周率:
SELECT PI();它通常用于几何计算、角度换算等场景。
SQRT() 用于返回平方根:
SELECT SQRT(9);
SELECT SQRT(16);MOD() 用于返回求余结果:
SELECT MOD(10, 3);
SELECT MOD(25, 4);MOD() 常用于:
- 判断奇偶数
- 做分组轮询
- 分页或编号场景中的取余计算
MySQL 中有多种“取整”函数,最常见的是:
CEIL():向上取整FLOOR():向下取整ROUND():四舍五入
示例:
SELECT CEIL(3.2);
SELECT FLOOR(3.8);
SELECT ROUND(3.56, 1);它们适合用于:
- 金额展示
- 统计结果处理
- 分页、份数、批次等取整逻辑
RAND() 用于生成随机数,返回值范围通常在 0 到 1 之间。
SELECT RAND();也可以配合其他计算生成指定范围内的随机整数:
SELECT FLOOR(RAND() * 100);这条语句通常会返回 0 到 99 之间的随机整数。
在查询中也可以这样写:
SELECT *
FROM user
ORDER BY RAND()
LIMIT 5;这适合做“小数据量的随机抽样”,但在大表上性能通常较差。
MySQL 也提供了一些常见三角函数,例如:
SIN()COS()TAN()
示例:
SELECT SIN(0);
SELECT COS(0);
SELECT TAN(1);这类函数更多用于科学计算、图形处理、坐标计算等特定场景,在普通业务系统里使用频率相对较低。
数学函数能让 MySQL 直接完成很多基础数值计算。日常业务里最常用的通常是 ABS()、ROUND()、FLOOR()、CEIL() 和 RAND()。