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 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2024-01-24 MySQL引起的CPU消耗过大,如何优化?