MySQL数字函数详解
数字函数之算数操作符
算数操作符
+ 加法 - 把运算符两边的值相加 - 减法 - 左操作数减去右操作数 * 乘法 - 把运算符两边的值相乘 /和div /除法 - 左操作数除以右操作数 DIV 整除 %和mod 取模 - 左操作数除以右操作数后得到的余数
|
1
2
3
4
5
6
|
• mysql> SELECT 3/5;• -> 0.60• mysql> SELECT 102/(1-1);• -> NULL • mysql> SELECT 5 DIV 2, -5 DIV 2, 5 DIV -2, -5 DIV -2;• -> 2, -2, -2, 2 |
数字函数
ABS(X)
• 绝对值函数
|
1
2
3
4
|
• mysql> SELECT ABS(2);• -> 2• mysql> SELECT ABS(-32);• -> 32 |
CEILING(X)/CEIL(X)
• 返回>=X值的最小整数
|
1
2
3
4
|
• mysql> SELECT CEILING(1.23);• -> 2• mysql> SELECT CEILING(-1.23);• -> -1 |
FLOOR(X)
• 返回<=X值的最大整数
|
1
2
|
• mysql> SELECT FLOOR(1.23), FLOOR(-1.23);• -> 1, -2 |
MOD(N,M), N % M, N MOD M
• 取余数操作,返回两者相除之后剩下的余数
|
1
2
3
4
5
6
7
8
9
10
|
• mysql> SELECT MOD(234, 10);• -> 4• mysql> SELECT 253 % 7;• -> 1• mysql> SELECT MOD(29,9);• -> 2• mysql> SELECT 29 MOD 9;• -> 2• mysql> SELECT MOD(34.5,3);• -> 1.5 |
RAND([N])
• 获取0到1之间的随机小数,比如当想获取7~12之间的随机整数是可以使用
|
1
2
|
• SELECT FLOOR(7 + (RAND() * 5));• Select * from students order by rand() limit 1; |
ROUND(X), ROUND(X,D)
• 四舍五入为D位个小数,当D参数不存在是,则默认为0
|
1
2
3
4
5
6
7
8
9
10
11
12
|
• mysql> SELECT ROUND(-1.23);• -> -1• mysql> SELECT ROUND(-1.58);• -> -2• mysql> SELECT ROUND(1.58);• -> 2• mysql> SELECT ROUND(1.298, 1);• -> 1.3• mysql> SELECT ROUND(1.298, 0);• -> 1• mysql> SELECT ROUND(23.298, -1);• -> 20 |
TRUNCATE(X,D)
• 数字X只保留D位的小数,其余均舍弃,保留几位小数
|
1
2
3
4
5
6
7
8
9
10
11
12
|
• mysql> SELECT TRUNCATE(1.223,1);• -> 1.2• mysql> SELECT TRUNCATE(1.999,1);• -> 1.9• mysql> SELECT TRUNCATE(1.999,0);• -> 1• mysql> SELECT TRUNCATE(-1.999,1);• -> -1.9• mysql> SELECT TRUNCATE(122,-2);• -> 100• mysql> SELECT TRUNCATE(10.28*100,0);• -> 1028 |
浙公网安备 33010602011771号