MariaDB FLOOR() vs TRUNCATE()
发布于
MariaDB 有一个函数和一个函数,可以根据其参数的确切值返回相同的结果或不同的结果。FLOOR()``TRUNCATE()
以下是MariaDB之间和之间的区别的简要介绍。FLOOR()``TRUNCATE()
区别
简而言之,以下是每个函数之间的区别:
FLOOR()返回不大于其参数的最大整数值。TRUNCATE()将其参数截断为指定的小数位数。
语法
首先,以下是每个函数的语法。
FLOOR()
的语法是这样的:FLOOR()
FLOOR(X)
它返回不大于 的最大整数值。X
TRUNCATE()
的语法是这样的:TRUNCATE()
TRUNCATE(X,D)
TRUNCATE()返回截断到小数位的数字。X``D
示例
下面是一个比较,以演示 和 之间的区别:FLOOR()``TRUNCATE()
SELECT
FLOOR(-3.6789),
TRUNCATE(-3.6789, 0);
输出:
+----------------+----------------------+
| FLOOR(-3.6789) | TRUNCATE(-3.6789, 0) |
+----------------+----------------------+
| -4 | -3 |
+----------------+----------------------+在这个示例中,数字是负值,每个函数的结果都不同。
FLOOR()返回不大于其参数的最大整数 () 值。-4- 另一方面,该函数只是截断了指定小数位的数字。
TRUNCATE()
相同的结果
这两个函数有时可以返回相同的结果。这完全取决于传递的参数的值。
如果我们将数字更改为正值,则两个函数将返回相同的结果:
SELECT
FLOOR(3.6789),
TRUNCATE(3.6789, 0);
输出:
+---------------+---------------------+
| FLOOR(3.6789) | TRUNCATE(3.6789, 0) |
+---------------+---------------------+
| 3 | 3 |
+---------------+---------------------+第二个论点
这两个函数之间的另一个明显区别是接受/需要第二个参数。这可能会导致结果包含小数部分。TRUNCATE()
FLOOR()但是,只返回一个整数,因此不会返回任何小数部分。
例
SELECT
FLOOR(3.6789),
TRUNCATE(3.6789, 2);
输出:
+---------------+---------------------+
| FLOOR(3.6789) | TRUNCATE(3.6789, 2) |
+---------------+---------------------+
| 3 | 3.67 |
+---------------+---------------------+函数ROUND()
这两个函数都与函数不同,函数将其参数舍入到指定的小数位数。ROUND()