MySQL的TRUNCATE()函数和ROUND()函数之间的显着区别是什么?

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,则函数将返回X四舍五入到D个小数位。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)将数字四舍五入。
  • 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)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程