MySQL TRUNCATE() 函数中,第二个参数(指定小数位数)为负值会对输出产生什么影响?


如果将第二个参数指定为负值,则小数点前的数字将被删除,**不会**进行四舍五入。要删除的数字位数取决于第二个参数的负值。以下示例将演示根据第二个参数的负值,TRUNCATE() 函数输出的变化。

mysql> Select TRUNCATE(1789.456,-1);
+-----------------------+
| TRUNCATE(1789.456,-1) |
+-----------------------+
|                  1780 |
+-----------------------+
1 row in set (0.00 sec)  

上述查询返回 1780,因为由于第二个参数的值为 -1,所以删除了小数点前的第一位数字。

mysql> Select TRUNCATE(1789.456,-2);
+-----------------------+
| TRUNCATE(1789.456,-2) |
+-----------------------+
|                  1700 |
+-----------------------+
1 row in set (0.00 sec)  

上述查询返回 1700,因为由于第二个参数的值为 -2,所以删除了小数点前的两位数字。

mysql> Select TRUNCATE(1789.456,-3);
+-----------------------+
| TRUNCATE(1789.456,-3) |
+-----------------------+
|                  1000 |
+-----------------------+
1 row in set (0.00 sec)  

上述查询返回 1000,因为由于第二个参数的值为 -3,所以删除了小数点前的三位数字。

mysql> Select TRUNCATE(1789.456,-4);
+-----------------------+
| TRUNCATE(1789.456,-4) |
+-----------------------+
|                     0 |
+-----------------------+
1 row in set (0.00 sec)  

上述查询返回 0,因为小数点前的总数字位数为 4,而第二个参数的值为 -4。

更新于:2020年2月10日

297 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.