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

posted on 2025-06-07 12:50  数据派  阅读(19)  评论(0)    收藏  举报