开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 9 天,点击查看活动详情
一、前言
大家好,今天文章的内容是:
round()truncate()mod()format()
二、内容
round
该函数有两种形式:
round(x, n):该函数将参数x舍入到n位小数。- 比如:
mysql> select round(123.456789, 3); +----------------------+ | round(123.456789, 3) | +----------------------+ | 123.457 | +----------------------+ 1 row in set (0.00 sec) - 如果
n是负数,则使得x小数点左边的n位变为零。 - 比如:
mysql> select round(11111.999, -1); +----------------------+ | round(11111.999, -1) | +----------------------+ | 11110 | +----------------------+ 1 row in set (0.00 sec) mysql> select round(11111.999, -2); +----------------------+ | round(11111.999, -2) | +----------------------+ | 11100 | +----------------------+ 1 row in set (0.00 sec) mysql> select round(11111.999, -3); +----------------------+ | round(11111.999, -3) | +----------------------+ | 11000 | +----------------------+ 1 row in set (0.00 sec) round(x):如果没有指定参数n,那么默认n为 。- 比如:
mysql> select round(123.456789); +-------------------+ | round(123.456789) | +-------------------+ | 123 | +-------------------+ 1 row in set (0.00 sec)
备注:D的最大绝对值为30,任何超过30(或-30)的数字都会被截断。
truncate
truncate(x, n):返回数字x的n位小数- 如果
n为0,则结果没有小数点或小数部分 - 如果
n为负数,则值x小数点左边的n位变为零 - 如果有任意参数为
NULL,则函数返回NULL。
比如:
mysql> select truncate(123.456, 2);
+----------------------+
| truncate(123.456, 2) |
+----------------------+
| 123.45 |
+----------------------+
1 row in set (0.00 sec)
mysql> select truncate(123.456, 0);
+----------------------+
| truncate(123.456, 0) |
+----------------------+
| 123 |
+----------------------+
1 row in set (0.00 sec)
mysql> select truncate(123.456, -2);
+-----------------------+
| truncate(123.456, -2) |
+-----------------------+
| 100 |
+-----------------------+
1 row in set (0.00 sec)
truncate() 和 round()的区别是后者有四舍五入。
比如:
mysql> select truncate(1.999, 1);
+--------------------+
| truncate(1.999, 1) |
+--------------------+
| 1.9 |
+--------------------+
1 row in set (0.00 sec)
mysql> select round(1.999, 1);
+-----------------+
| round(1.999, 1) |
+-----------------+
| 2.0 |
+-----------------+
1 row in set (0.00 sec)
mod
mod(n, m):求模运算,返回n除以m的余数。- 如果
m或n为NULL,则返回NULL。
mysql> select mod(10, 3);
+------------+
| mod(10, 3) |
+------------+
| 1 |
+------------+
1 row in set (0.00 sec)
当然,在 MySQL 中,还有其他办法可以进行求模运算,如下所示:
mysql> select 10 % 3;
+--------+
| 10 % 3 |
+--------+
| 1 |
+--------+
1 row in set (0.00 sec)
mysql> select 10 mod 3;
+----------+
| 10 mod 3 |
+----------+
| 1 |
+----------+
1 row in set (0.00 sec)
format
format(x, D):将数字 X 格式化为“#,###,###.##”的形式,并四舍五入到D位小数,最后将结果以字符串的形式返回。
比如:
mysql> select format(123456.789, 2);
+-----------------------+
| format(123456.789, 2) |
+-----------------------+
| 123,456.79 |
+-----------------------+
1 row in set (0.00 sec)
三、后话
好了,今天的文章内容就到这里,感谢观看。