MySQL - 数值函数
MySQL 数值函数:实用指南
Section titled “MySQL 数值函数:实用指南”MySQL 提供了一套丰富的内置函数,用于执行数学运算和操作数值数据。这些函数对于从 SELECT 语句中的简单计算到复杂数据分析都至关重要。
下面是按类别列出的最常用和最有用的数值函数,每个函数都附有语法和实际示例。
舍入和截断函数
Section titled “舍入和截断函数”ROUND(X, [D])
Section titled “ROUND(X, [D])”将数字 X 四舍五入到 D 位小数。如果省略 D,则四舍五入到最接近的整数。
SELECT ROUND(123.456, 2) AS round_2_decimals, ROUND(123.456) AS round_to_integer;-- 结果:123.46, 123CEIL(X) or CEILING(X)
Section titled “CEIL(X) or CEILING(X)”返回不小于 X 的最小整数值(向上取整)。
SELECT CEIL(45.1) AS ceil_up, CEIL(-45.9) AS ceil_negative;-- 结果:46, -45FLOOR(X)
Section titled “FLOOR(X)”返回不大于 X 的最大整数值(向下取整)。
SELECT FLOOR(45.9) AS floor_down, FLOOR(-45.1) AS floor_negative;-- 结果:45, -46TRUNCATE(X, D)
Section titled “TRUNCATE(X, D)”将数字 X 截断到 D 位小数,不进行四舍五入。
SELECT TRUNCATE(123.456, 2) AS truncated, TRUNCATE(123.999, 0) AS truncated_zero;-- 结果:123.45, 123算术和数学函数
Section titled “算术和数学函数”ABS(X)
Section titled “ABS(X)”返回 X 的绝对值(非负值)。
SELECT ABS(-25.5) AS absolute_val;-- 结果:25.5MOD(N, M) or N % M
Section titled “MOD(N, M) or N % M”返回 N 除以 M 的余数(模运算)。
SELECT MOD(10, 3) AS modulo_val;-- 结果:1POW(X, Y) or POWER(X, Y)
Section titled “POW(X, Y) or POWER(X, Y)”返回 X 的 Y 次幂的值。
SELECT POW(2, 8) AS power_of_2;-- 结果:256SQRT(X)
Section titled “SQRT(X)”返回 X 的非负平方根。
SELECT SQRT(64) AS square_root;-- 结果:8RAND()
Section titled “RAND()”返回一个介于 0(包含)和 1(不包含)之间的随机浮点值。要获取指定范围内的随机整数,请使用 FLOOR(RAND() * (max - min + 1)) + min。
SELECT RAND() AS random_float, FLOOR(RAND() * 100) + 1 AS random_int_1_to_100;-- 结果:(一个随机浮点数,如 0.12345),(一个随机整数,如 42)SIGN(X)
Section titled “SIGN(X)”返回 X 的符号,为 -1(负数)、0(零)或 1(正数)。
SELECT SIGN(-50) AS sign_neg, SIGN(100) AS sign_pos;-- 结果:-1, 1MySQL 也支持标准的三角函数,它们对弧度值进行操作。
SIN(X):返回X的正弦值。COS(X):返回X的余弦值。TAN(X):返回X的正切值。ACOS(X)、ASIN(X)、ATAN(X):反余弦、反正弦和反正切函数。DEGREES(X):将弧度转换为度。RADIANS(X):将度转换为弧度。PI():返回圆周率 (π) 的值。
SELECT SIN(PI() / 2) AS sin_90_deg, DEGREES(PI()) AS pi_in_degrees;-- 结果:1, 180