1. 总览表
2. 算数运算符
2.1 加减乘除的简单运算
SELECT 3 + 5;
-- 8
SELECT 3 - 5;
-- -2
SELECT 3 * 5
-- 15
SELECT 3 / 5
-- 0.6
SELECT - 2;
-2
2.2 产生NULL和异常的运算
-- 没事闲着型错误
SELECT ++1; -- 1
SELECT +1; -- 1
SELECT 1++; -- ERR 1064
SELECT 1+; -- ERR 1064
-- 除零
SELECT 1/0; -- NULL
-- 超出运算范围
SELECT 18014398509481984 * 18014398509481984;
-- Err 1690 - BIGINT value is out of range
2.3 其他运算
-- 整除 DIV
SELECT 5 DIV 2, -5 DIV 2, 5 DIV -2, -5 DIV -2;
-- 2 -2 -2 2
-- 取余 N % M, N MOD M
SELECT 5 MOD 3;
-- 2
SELECT 5 % 3;
-- 2
3. 数学函数
3.1 常用函数
abs()一绝对值
SELECT ABS(2);
-- 2
mysql> SELECT ABS(-32);
-- 32
mod()一取余数
SELECT MOD(234, 10);
-- 4
SELECT 253 % 7;
-- 1
SELECT MOD(29,9);
-- 2
SELECT 29 MOD 9;
-- 2
cell()一向上取整(返回不小于这个数的最小整数)
-- cell() 是 celling() 的别名
SELECT CEIL(1.23);
-- 2
SELECT CEILING(1.23);
-- 2
floor()一向下取整(返回不大于该数的最大整数)
SELECT FLOOR(1.23), FLOOR(-1.23);
-- 1, -2
conv()一 进制装换函数
-- CONV(N, from_base, to_base)
-- N:返回字符串的表现形式
-- from_base:原数
-- to_base:转换后的数
SELECT CONV('a',16,2);
-- '1010'
SELECT CONV('6E',18,8);
-- '172'
SELECT CONV(-17,10,-18);
-- '-H'
SELECT CONV(10+'10'+'10'+X'0a',10,10);
-- '40'
pow()一求幂函数
-- pow() 是 power() 的别名
SELECT POW(2,3);
-- 8
SELECT POWER(2,3);
-- 8
sqrt()一返回非负数的平方根
SELECT SQRT(4);
-- 2
SELECT SQRT(20);
-- 4.4721359549996
SELECT SQRT(-16);
-- NULL
rand()一返回0~1.0的随机浮点数
SELECT RAND()
-- 0.7222141518464443
round()一四舍五入函数
-- 第一个参数指定操作数,第二个参数指定精度位
SELECT ROUND(-1.23);
-- -1
SELECT ROUND(-1.58);
-- -2
SELECT ROUND(1.58);
-- 2
SELECT ROUND(1.298, 1);
-- 1.3
SELECT ROUND(1.298, 0);
-- 1
SELECT ROUND(23.298, -1);
-- 20
SELECT ROUND(.12345678901234567890123456789012345, 35);
-- 0.123456789012345678901234567890
truncate()一舍弃小数
-- 第一个参数是操作数,第二个参数指定精度位
-- 注意和 round() 不同必须指定第二个参数
SELECT TRUNCATE(1.223,1);
-- 1.2
SELECT TRUNCATE(1.999,1);
-- 1.9
SELECT TRUNCATE(1.999,0);
-- 1
SELECT TRUNCATE(-1.999,1);
-- -1.9
SELECT TRUNCATE(122,-2);
-- 100
SELECT TRUNCATE(10.28*100,0);
-- 1028