如果第二个参数(指定小数位数)为负值,会对 MySQL TRUNCATE() 函数的输出产生什么影响?
mysqlmysqli database
如果我们指定第二个参数的负值,那么小数点前的数字将被删除,不进行四舍五入。要删除的数字数量取决于第二个参数的负值。以下示例将演示 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。