第二个参数的负值(指定小数位数)对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。

猜你喜欢