如果 MySQL ROUND() 函数的第二个参数(指定小数位数)为负值,会对输出产生什么影响?
如果我们指定第二个参数的负值,则小数点前的数字将被删除并四舍五入。要删除的数字位数取决于负第二个参数的值。以下示例将演示 ROUND() 函数输出的变化,具体取决于第二个参数的负值。
mysql> Select ROUND(1789.456,-1); +--------------------+ | ROUND(1789.456,-1) | +--------------------+ | 1790 | +--------------------+ 1 row in set (0.00 sec)
上面的查询返回 1790,因为第一个数字(由于值为 -1 而要删除)是小数点前的 9(大于 5),因此它前面的数字 8 将四舍五入为 9。
mysql> Select ROUND(1789.456,-2); +--------------------+ | ROUND(1789.456,-2) | +--------------------+ | 1800 | +--------------------+ 1 row in set (0.00 sec)
上面的查询返回 1800,因为第二个数字(由于值为 -2 而要删除)是小数点前的 8(大于 5),因此它前面的数字 7 将四舍五入为 8。
mysql> Select ROUND(1789.456,-3); +--------------------+ | ROUND(1789.456,-3) | +--------------------+ | 2000 | +--------------------+ 1 row in set (0.00 sec)
上面的查询返回 2000,因为第三个数字(由于值为 -3 而要删除)是小数点前的 7(大于 5),因此它前面的数字 1 将四舍五入为 2。
mysql> Select ROUND(1789.456,-4); +--------------------+ | ROUND(1789.456,-4) | +--------------------+ | 0 | +--------------------+ 1 row in set (0.00 sec)
上面的查询返回 0,因为小数点前的总数字位数为 4,而第二个参数的值为 -4。
广告