<p>ROUND 函数用于数值四舍五入,语法为 ROUND(X, D),D 为保留小数位数,正数保留小数,负数对整数部分舍入,省略 D 则默认为 0;常用于财务计算与数据展示,如 select ROUND(3.14159, 2) 返回 3.14,SELECT ROUND(123.456, -1)返回 120;在查询中可格式化计算结果,如 ROUND(price * quantity, 2)保留两位小数;注意其采用“银行家舍入”规则,NULL参与运算结果为 NULL。</p>

在 mysql 中,ROUND() 函数用于对数值进行四舍五入操作。它可以根据指定的小数位数保留小数,也可以处理整数部分的舍入。这个函数在处理财务计算、统计报表或需要精确数值显示的场景中非常实用。
ROUND 函数基本语法
ROUND(X, D)
如果省略 D,默认为 0,表示四舍五入到整数。D 也可以是负数,表示对整数部分进行舍入。
常见用法示例
1. 四舍五入到整数
SELECT ROUND(3.7); — 结果:4
SELECT ROUND(3.2); — 结果:3
2. 保留指定位数的小数
SELECT ROUND(3.14159, 2); — 结果:3.14
SELECT ROUND(123.456, 1); — 结果:123.5
3. 对整数部分进行舍入(使用负数 D)
SELECT ROUND(123.456, -1); — 结果:120
SELECT ROUND(123.456, -2); — 结果:100
当 D 为 - 1 时,会将个位数四舍五入到十位;D 为 - 2 时,则舍入到百位。
在查询中使用 ROUND 函数
假设有一张销售表 sales,其中包含单价(price)和数量(quantity),我们想计算总价并保留两位小数:
SELECT product_name,
ROUND(price * quantity, 2) AS total_price
FROM sales;
这样可以避免浮点数精度问题,让结果显示更规范。
再比如对平均值进行格式化:
SELECT ROUND(AVG(score), 2) AS avg_score
FROM student_scores;
注意事项
基本上就这些。掌握 ROUND 函数能让你的数据展示更整洁,尤其在报表输出或 前端 对接时特别有用。不复杂但容易忽略细节。