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