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