SQL:MySQL函数:数学函数(Mathematical Functions)
目录
📚 MySQL 数学函数
1. ABS(x) — Absolute Value(绝对值)
2. CEIL(x) / CEILING(x) —向上取整
3. FLOOR(x) —向下取整
4. ROUND(x, d) —四舍五入
5. TRUNCATE(x, d) —截断小数
6. MOD(x, y) / x % y —取余
7. POWER(x, y) 或 POW(x, y) —幂运算
8. SQRT(x) —平方根
9. SIGN(x) —符号函数
10. RAND([seed]) —随机数
📊 常见函数简表
在 MySQL 中,数学函数(Mathematical Functions)主要用于执行数值计算,如求和、取整、开方、对数等,广泛应用于统计、报表、数据建模等领域。
📚 MySQL 数学函数
1. ABS(x)
— Absolute Value(绝对值)
-
功能:返回参数 x 的绝对值(即非负值)。
-
语法:
SELECT ABS(-10); -- 返回 10
说明:常用于对差值、偏差等去符号处理。
2. CEIL(x)
/ CEILING(x)
—向上取整
Ceiling(天花板)函数
-
功能:返回大于或等于 x 的最小整数(向上取整)。
-
语法:
SELECT CEIL(3.14); -- 返回 4
说明:CEIL(2.1)
和 CEIL(2.9)
都返回 3
。
3. FLOOR(x)
—向下取整
Floor(地板)函数
-
功能:返回小于或等于 x 的最大整数(向下取整)。
-
语法:
SELECT FLOOR(3.9); -- 返回 3
4. ROUND(x, d)
—四舍五入
Round(四舍五入)
-
功能:对 x 四舍五入,保留 d 位小数。
-
语法:
SELECT ROUND(12.3456, 2); -- 返回 12.35
5. TRUNCATE(x, d)
—截断小数
Truncate(截断)
-
功能:截断 x 到 d 位小数(不进行四舍五入)。
-
语法:
SELECT TRUNCATE(12.3456, 2); -- 返回 12.34
6. MOD(x, y)
/ x % y
—取余
Modulo(取模)
-
功能:返回 x 除以 y 的余数。
-
语法:
SELECT MOD(10, 3); -- 返回 1
SELECT 10 % 3; -- 返回 1
7. POWER(x, y)
或 POW(x, y)
—幂运算
Power(幂)
-
功能:返回 x 的 y 次幂。
-
语法:
SELECT POWER(2, 3); -- 返回 8
8. SQRT(x)
—平方根
Square Root(平方根)
-
功能:返回 x 的平方根。
-
语法:
SELECT SQRT(9); -- 返回 3
9. SIGN(x)
—符号函数
Sign(符号)
-
功能:返回数字的符号:
-
x > 0 → 1
-
x = 0 → 0
-
x < 0 → -1
-
-
语法:
SELECT SIGN(-12); -- 返回 -1
10. RAND([seed])
—随机数
Random(随机数)
-
功能:生成一个 0 到 1 之间的伪随机小数。
-
语法:
SELECT RAND(); -- 每次不同
SELECT RAND(100); -- 有种子值,每次相同
📊 常见函数简表
函数名 | 全称或含义 | 描述/功能 | 示例 |
---|---|---|---|
PI() | π(圆周率) | 返回 π ≈ 3.141593 | SELECT PI(); |
EXP(x) | Exponential | 计算 e 的 x 次幂 | EXP(1) → 2.718 |
LOG(x) | Natural Log | 返回以 e 为底的自然对数 | LOG(10) → ≈2.302 |
LOG10(x) | Base-10 Logarithm | 返回以 10 为底的对数 | LOG10(1000) → 3 |
LOG2(x) | Base-2 Logarithm | 返回以 2 为底的对数(MySQL 8+) | LOG2(8) → 3 |
LN(x) | Natural Logarithm | 与 LOG 相同(等价函数) | LN(10) |
DEGREES(x) | Radians → Degrees | 将弧度转换为角度 | DEGREES(PI()) → 180 |
RADIANS(x) | Degrees → Radians | 将角度转换为弧度 | RADIANS(180) → π |
SIN(x) | Sine | 正弦函数(x 为弧度) | SIN(PI()/2) → 1 |
COS(x) | Cosine | 余弦函数 | COS(PI()) → -1 |
TAN(x) | Tangent | 正切函数 | TAN(0) → 0 |
ASIN(x) | Arc Sine | 反正弦 | ASIN(1) → π/2 |
ACOS(x) | Arc Cosine | 反余弦 | ACOS(1) → 0 |
ATAN(x) | Arc Tangent | 反正切 | ATAN(1) → π/4 |
ATAN2(y, x) | Arc Tangent 2-variable | 两变量反正切函数,考虑象限 | ATAN2(1, 1) → π/4 |
COT(x) | Cotangent | 余切函数 | COT(1) |