MySQL提供了许多数字函数,用于对数字进行各种计算和处理。以下是一些常用的MySQL数字函数。
内容有点多,建议收藏以备后续用到查阅参考。
目录
一、SIGN 取数字的符号
二、ABS 取绝对值
三、COS 取余弦值
四、ACOS 取反余弦值
五、SIN 取正弦值
六、ASIN 取反正弦值
七、TAN 取正切值
八、ATAN 取反正切值
九、ATAN2 取反正切值
十、 COT 取余切值
十一、CEIL 向上取整
十二、CEILING 向上取整
十三、FLOOR 向下取整
十四、ROUND 取四舍五入
十五、TRUNCATE 截取小数位
十六、CONV 进制转为另一个进制
十七、DIV 取除法值
十八、EXP e的指定数值的次方
十九、GREATEST 取列表的最大值
二十、LEAST 取列表的最小值
二十一、LN 取指定数字的自然对数
二十二、LOG 指定数字的指定底数的对数
二十三、LOG10 指定数字的以 10 为底的对数
二十四、LOG2 指定数字的以 2 为底的对数
二十五、MOD 取两数的余数
二十六、PI 值
二十七、POW 计算 x 的 y 次幂
二十八、POWER 计算 x 的 y 次幂
二十九、SQRT 取平方根
三十、DEGREES 弧度值转为度数
三十一、RADIANS 度数值转为弧度值
三十二、RAND 取0到1的随机数
MySQL SIGN() 函数返回指定的数字的符号。参数为正数、负数和零时分别返回 1, -1 和 0。
语法:
SIGN(number)
参数说明:
返回值:
示例:
SELECT SIGN(123), -- 1 SIGN(123.123), -- 1 SIGN(-123), -- -1 SIGN(-123.123), -- -1 SIGN(0), -- 0 SIGN(NULL) -- NULL
MySQL ABS() 函数返回指定数字的绝对值。
语法:
ABS(number)
参数说明:
返回值:
示例:
SELECT ABS(100), -- 100 ABS(-100), -- 100 ABS('100'), -- 100 ABS('-100'), -- 100 ABS('-100A') -- 100 ABS('A100'), -- 0 ABS(NULL) -- null
MySQL COS() 函数返回指定数值的余弦值。
语法:
COS(number)
参数说明:
返回值:
示例:
SELECT COS(2.5), -- -0.8011436155469337 COS(0.2), -- 0.9800665778412416 COS(-0.5), -- 0.8775825618903728 COS(-0.2), -- 0.9800665778412416 COS(0), -- 1 COS(PI()), -- -1 COS(NULL) -- NULL
MySQL ACOS() 函数返回指定数值的反余弦值。
语法:
ACOS(number)
参数说明:
返回值:
示例:
SELECT ACOS(0.5), -- 1.0471975511965976 ACOS(0.2), -- 1.3694384060045657 ACOS(-0.5), -- 2.0943951023931957 ACOS(-0.2), -- 1.7721542475852274 ACOS(1), -- 0 ACOS(0), -- 1.5707963267948966 ACOS(-1), -- 3.141592653589793 ACOS(2), -- NULL ACOS(-2), -- NULL ACOS(NULL) -- NULL
MySQL SIN() 函数返回指定数值的正弦值。
语法:
SIN(number)
参数说明:
返回值:
示例:
SELECT SIN(2.5), -- 0.5984721441039564 SIN(0.2), -- 0.19866933079506122 SIN(-0.5), -- -0.479425538604203 SIN(0), -- 0 SIN(PI()), -- 1.2246467991473532e-16 SIN(NULL) -- NULL
MySQL ASIN() 函数返回指定数值的反正弦值。
语法:
ASIN(number)
参数说明:
返回值:
示例:
SELECT ASIN(0.5), -- 0.5235987755982988 ASIN(-0.5), -- -0.5235987755982988 ASIN(1), -- 1.5707963267948966 ASIN(0), -- 0 ASIN(-1), -- -1.5707963267948966 ASIN(2), -- NULL ASIN(NULL) -- NULL
MySQL TAN() 函数返回指定数值的正切值。
语法:
TAN(number)
参数说明:
返回值:
示例:
SELECT TAN(2.5), -- -0.7470222972386602 TAN(0.2), -- 0.20271003550867248 TAN(-0.5), -- -0.5463024898437905 TAN(0), -- 0 TAN(PI()), -- -1.2246467991473532e-16 TAN(NULL) -- NULL
MySQL ATAN() 函数返回指定数值的反正切值。
语法:
ATAN(number) ATAN(x, y)
参数说明:
返回值:
示例:
SELECT ATAN(2.5), -- 1.1902899496825317 ATAN(0.2), -- 0.19739555984988078 ATAN(-0.5), -- -0.46364760900080615 ATAN(-0.9, 2), -- -0.4228539261329407 ATAN(PI(), 2), -- 1.0038848218538872 ATAN(NULL) -- NULL
MySQL ATAN2() 函数返回指定数值的反正切值。
语法:
ATAN2(x, y)
参数说明:
返回值:
示例:
SELECT ATAN2(2.5, 1), -- 1.1902899496825317 ATAN2(0.75, 1), -- 0.6435011087932844 ATAN2(-0.9, 2), -- -0.4228539261329407 ATAN2(PI(), 2), -- 1.0038848218538872 ATAN2(NULL) -- NULL
MySQL COT() 函数返回指定数值的余切值。
语法:
COT(number)
参数说明:
返回值:
示例:
SELECT COT(2.5), -- -1.3386481283041516 COT(0.2), -- 4.933154875586894 COT(-0.5), -- -1.830487721712452 COT(PI()), -- -8.165619676597685e15 COT(NULL) -- NULL
MySQL CEIL() 函数返回大于或等于指定数字的最小整数值。CEIL() 函数等同于 CEILING() 函数。
语法:
CEIL(number)
参数说明:
返回值:
示例:
SELECT CEIL(123.123), -- 124 CEIL(123), -- 123 CEIL(-123.123), -- -123 CEIL(-123), -- -123 CEIL(-100), -- -100 CEIL(NULL) -- NULL
MySQL CEILING() 函数返回大于或等于指定数字的最小整数值。CEILING() 函数等同于 CEIL() 函数。
语法:
CEILING(number)
参数说明:
返回值:
示例:
SELECT CEILING(123.789), -- 124 CEILING(123), -- 123 CEILING(-123.123), -- -123 CEILING(-123), -- -123 CEILING(NULL)-- NULL
MySQL FLOOR() 函数返回小于或等于指定数字的最大整数值。
语法:
FLOOR(number)
参数说明:
返回值:
示例:
SELECT FLOOR(123.123), -- 123 FLOOR(123), -- 123 FLOOR(-123.123), -- -124 FLOOR(-123), -- -123 FLOOR(NULL) -- NULL
MySQL ROUND() 函数将数字四舍五入到指定的小数位数。
语法:
ROUND(x, d)
参数说明:
返回值:
示例:
SELECT ROUND(123.179, 1), -- 123.2 ROUND(123.179, 4), -- 123.179 ROUND(123.179, 0), -- 123 ROUND(123.179, -2), -- 100 ROUND(123.179, NULL) -- NULL
MySQL TRUNCATE() 函数截取数字为指定的小数位数。 TRUNCATE() 函数只是按指定的位数截断小数,而不进行四舍五入。
语法:
TRUNCATE(x, d)
参数说明:
返回值:
示例:
SELECT TRUNCATE(123.179, 1), -- 123.1 TRUNCATE(123.179, 4), -- 123.179 TRUNCATE(123.179, 0), -- 123 TRUNCATE(123.179, -2), -- 100 TRUNCATE(123.179, NULL) -- NULL
MySQL CONV() 函数将数字从一个进制转为另一个进制,比如从 10 进制转为 2 进制。
语法:
CONV(num, from_base, to_base)
参数说明:
返回值:
示例:
SELECT CONV('A', 16, 10), -- 10 CONV('C', 16, 10), -- 12 CONV('E', 16, 10), -- 14 CONV('F', 16, NULL) -- NULL
在 MySQL 中, DIV 操作符计算两个整数的除法并返回一个整数结果。
语法:
x DIV y
参数说明:
返回值:
示例:
SELECT 10 DIV 3, -- 3 10 / 3, -- 3.3333 FLOOR(10/3), -- 3 9.8 DIV 2.6, -- 3 9.8 / 2.6, -- 3.76923 FLOOR(9.8/2.6) -- 3
MySQL EXP() 函数返回自然常数 e 的指定数值的次方,例如 EXP(2) 返回结果是 e2。
语法:
EXP(number)
参数说明:
返回值:
示例:
SELECT EXP(0), -- 1 EXP(2), -- 7.38905609893065 EXP(-1), -- 0.36787944117144233 EXP(NULL) -- NULL
MySQL GREATEST() 函数返回参数列表中的最大值。
语法:
GREATEST(param1, param2, ..., paramN)
参数说明:
返回值:
示例:
SELECT GREATEST(2, 1, 5), -- 5 GREATEST(2, 1, 5, '0'), -- 5 GREATEST('a', 'b', 'c'), -- c GREATEST('Hello', 'World'), -- World GREATEST('a', 'b', NULL) -- NULL
MySQL LEAST() 函数返回参数列表中的最小值。
语法:
LEAST(param1, param2, ..., paramN)
参数说明:
返回值:
示例:
SELECT LEAST(2, 1, 5), -- 1 LEAST(2, 1, 5, '0'), -- 0 LEAST('a', 'b', 'c'), -- a LEAST('Hello', 'World'), -- Hello LEAST('a', 'b', NULL) -- NULL
MySQL LN() 函数返回指定数字的自然对数。
语法:
LN(number)
参数说明:
返回值:
示例:
SELECT LN(1), -- 0 LN(2), -- 0.6931471805599453 LN(0), -- NULL LN(-1), -- NULL LN(NULL) -- NULL
MySQL LOG() 函数返回指定数字的指定底数的对数。
语法:
LOG(number) LOG(base, number)
参数说明:
返回值:
示例:
SELECT LOG(1), -- 0 LOG(EXP(1), 2), -- 0.6931471805599453 LOG(10, 100), -- 2 LOG(-1), -- NULL LOG(1, 10), -- NULL LOG(NULL) -- NULL
MySQL LOG10() 函数返回指定数字的以 10 为底的对数。等同于 LOG(10, number) 函数。
MySQL LOG2() 函数返回指定数字的以 2 为底的对数。等同于 LOG(2, number) 函数。
MySQL MOD() 函数返回一个数字除以另一个数字的余数。
语法:
MOD(number1, number2) number1 MOD number2 number1 % number2
参数说明:
返回值:
示例:
SELECT MOD(100, 10), -- 0 100 MOD 7, -- 2 100 % 7, -- 2 100 % 10, -- 0 MOD(0, 1), -- 0 MOD(1, 0), -- NULL MOD(NULL, 1) -- NULL
MySQL PI() 函数返回 6 位小数位的 PI 值。
语法:
PI()
示例:
SELECT PI(), -- 3.141593 PI() + 0.000000, -- 3.141593 PI() * 1000000000000 -- 3141592653589.793000
MySQL POW(x, y) 函数计算 x 的 y 次幂并返回结果,即: y个x相乘。
语法:
POW(x, y)
参数说明:
返回值:
示例:
SELECT POW(2, 0), -- 1 POW(2.5, 2), -- 6.25 POW(2, -4), -- 0.0625 POW(2, NULL) -- NULL
MySQL POWER(x, y) 函数计算 x 的 y 次幂并返回结果,即: xy。 POWER() 函数等同于 POW() 函数。
MySQL SQRT() 函数返回一个数字的平方根。
语法:
SQRT(number)
参数说明:
返回值:
示例:
SELECT SQRT(16), -- 4 SQRT(101), -- 10.04987562112089 SQRT(-100), -- NULL SQRT(NULL) -- NULL
MySQL DEGREES() 函数将弧度值转为度数并返回。
语法:
DEGREES(number)
参数说明:
返回值:
示例:
SELECT DEGREES(0.75), -- 42.97183463481174 DEGREES(-0.75), -- -42.97183463481174 DEGREES(0), -- 0 DEGREES(PI() * 2), -- 360 DEGREES(PI() * -1), -- -180 DEGREES(NULL) -- NULL
MySQL RADIANS() 函数将度数值转为弧度值并返回。
语法:
RADIANS(number)
参数说明:
返回值:
示例:
SELECT RADIANS(0), -- 0 RADIANS(360), -- 6.283185307179586 RADIANS(-360), -- -6.283185307179586 RADIANS(NULL) -- NULL
MySQL RAND() 函数返回一个 0 (包含) 和 1 (不包含) 之间的随机数。
语法:
RAND() RAND(seed)
参数说明:
返回值:
示例:
SELECT RAND(), -- 0.9892005063492809 RAND(), -- 0.2601393091121123 RAND(), -- 0.3330950572463638 RAND() -- 0.8850573896291268