摘要:在本教程中,您将学习如何使用 MySQL ROUND()
函数将数字四舍五入到指定的小数位数。
MySQL ROUND()
函数简介
ROUND()
是一个数学函数,可让您将数字四舍五入到指定的小数位数。
下面显示了ROUND()
函数的语法:
ROUND(n,[d])
Code language: SQL (Structured Query Language) (sql)
在此语法中, n
是要四舍五入的数字, d
是该数字四舍五入到的小数位数。
小数位数 ( d
) 是可选的。如果跳过它,它默认为零。
以下语句是等效的:
SELECT ROUND(20.5);
-- 21
SELECT ROUND(20.5, 0);
-- 21
Code language: SQL (Structured Query Language) (sql)
小数位数 ( d
) 可以是正数或负数。如果为负数,则数字n
小数点左边的d
位变为零。
SELECT ROUND(121.55,-2)
-- 100
Code language: SQL (Structured Query Language) (sql)
ROUND()
函数返回一个与要舍入的数字 (n) 具有相同数据类型的数字
精确值数字舍入规则
如果 n 是精确数值,则ROUND()
函数使用“向最近的舍入”规则。
这意味着 0.5 或更大的小数部分的值如果是正数则向上舍入到下一个整数,如果是负数则向下舍入到下一个整数。
SELECT ROUND(10.5);
-- 11
SELECT ROUND(10.6);
-- 11
SELECT ROUND(-10.5);
-- -11
SELECT ROUND(-10.6);
-- -11
Code language: SQL (Structured Query Language) (sql)
小于 0.5 的小数部分的值如果是正数,则向下舍入到下一个整数;如果是负数,则向上舍入到下一个整数。
SELECT ROUND(10.4);
-- 10
SELECT ROUND(-10.4);
-- -10
Code language: SQL (Structured Query Language) (sql)
舍入近似值数字规则
对近似值进行舍入时, ROUND()
函数的结果取决于 C 库。通常,它使用“舍入到最接近的偶数”规则,即将小数部分正好位于两个整数中间的值舍入到最接近的偶数。
MySQL ROUND()
函数示例
我们将使用示例数据库中的orderDetails
表进行演示。
以下语句按产品代码查找平均订单行项目值:
SELECT
productCode,
AVG(quantityOrdered * priceEach) avg_order_item_value
FROM
orderDetails
GROUP BY
productCode;
Code language: SQL (Structured Query Language) (sql)
这是输出:
产品的平均订单价值不太可读,因为它包含许多小数点后的数字。
对于平均值,小数点后的数字可能并不重要。因此,您可以使用ROUND()
函数将它们舍入到小数点后零位,如以下查询所示:
SELECT
productCode,
ROUND(AVG(quantityOrdered * priceEach)) avg_order_item_value
FROM
orderDetails
GROUP BY
productCode;
Code language: SQL (Structured Query Language) (sql)
下图显示了输出:
在本教程中,您学习了如何使用 MySQL ROUND()
函数将数字四舍五入到指定的小数位数。
本教程有帮助吗?