MySQL 的 TRUNCATE() 函数和 ROUND() 函数之间有什么区别?
**TRUNCATE()** 函数用于返回 X 截断到 D 位小数的值。如果 D 为 0,则删除小数点。如果 D 为负数,则截断该值的整数部分的 D 个值。请考虑以下示例 -
mysql> Select TRUNCATE(7.536432,2); +----------------------+ | TRUNCATE(7.536432,2) | +----------------------+ | 7.53 | +----------------------+ 1 row in set (0.00 sec)
**ROUND()** 函数返回四舍五入到最接近整数的 X。如果提供第二个参数 D,则该函数返回四舍五入到 D 位小数的 X。D 必须为正数,否则将删除小数点右侧的所有数字。请考虑以下示例 -
mysql>SELECT ROUND(5.693893); +---------------------------------------------------------+ | ROUND(5.693893) | +---------------------------------------------------------+ | 6 | +---------------------------------------------------------+ 1 row in set (0.00 sec) mysql>SELECT ROUND(5.693893,2); +---------------------------------------------------------+ | ROUND(5.693893,2) | +---------------------------------------------------------+ | 5.69 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
从以上定义和示例中,我们可以观察到这两个函数之间的以下区别 -
- ROUND() 函数将数字向上或向下舍入,具体取决于第二个参数 D 和数字本身(D 位小数后的数字 >=5 或不 >=5)。
- TRUNCATE() 函数将数字截断到 D 位小数,而无需检查 D 位小数后的数字是否 >=5。
mysql> Select ROUND(1.289,2)AS 'AFTER ROUND',TRUNCATE(1.289,2)AS 'AFTER TRUNCATE'; +-------------+----------------+ | AFTER ROUND | AFTER TRUNCATE | +-------------+----------------+ | 1.29 | 1.28 | +-------------+----------------+ 1 row in set (0.00 sec)
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP