SQL 数值函数如何实现四舍五入?

ROUND()函数用于四舍五入,语法为ROUND(数值表达式, 小数位数);保留两位小数如SELECT ROUND(Price, 2) FROM Products;省略小数位则取整,如ROUND(123.456)返回123;小数位为负时向左扩展,如ROUND(123.456, -1)返回120,ROUND(123.456, -2)返回100;MySQL、SQL Server、PostgreSQL等均支持该函数。

SQL 中实现四舍五入主要使用 ROUND() 函数。这个函数能将数值字段按照指定的小数位数进行四舍五入处理。

基本语法

ROUND(数值表达式, 小数位数)

数值表达式 是要处理的数字或字段,小数位数 指定保留几位小数。如果省略小数位数,默认为 0,即四舍五入到整数。

保留指定位小数

例如,将价格字段保留两位小数:

SELECT ROUND(Price, 2) FROM Products;

这会把 Price 字段的值四舍五入到小数点后两位。

四舍五入到整数

不指定小数位或设为 0 时,结果取整:

SELECT ROUND(123.456);

返回 123

向左扩展:四舍五入到十位、百位

当小数位数为负数时,ROUND() 会从小数点左边开始处理:

  • ROUND(123.456, -1) 返回 120(四舍五入到十位)
  • ROUND(123.456, -2) 返回 100(四舍五入到百位)

基本上就这些。不同数据库如 MySQL、SQL Server、PostgreSQL 都支持 ROUND(),行为基本一致,是处理数值精度最常用的函数。