SQL Server ROUND() 函数使用指南
在 SQL Server 中, ROUND()
函数用于将数字四舍五入到指定的小数位数。该函数采用两个参数:第一个参数是要舍入的数字,第二个参数是要保留的小数位数。
语法
下面是 ROUND()
函数的语法:
ROUND ( numeric_expression, length [ ,function ] )
参数:
-
numeric_expression
:要舍入的数字。 -
length
:指定保留的小数位数。 -
function
:可选项,指定舍入方式。默认值为 0,表示四舍五入。取值范围是 0 到 4,具体含义如下:- 0:四舍五入
- 1:向上取整
- 2:向下取整
- 3:向零取整
- 4:四舍六入五成双
使用场景
ROUND()
函数通常用于处理货币和计算问题。例如,将浮点数保留到特定的小数位数,以便进行计算和比较。此外,该函数还可用于将某些数字表示为特定的格式,如百分比、货币等。
示例
以下是使用 ROUND()
函数的两个示例:
示例 1
假设有以下的Sales
表:
OrderID | Product | UnitPrice | Quantity | Discount |
---|---|---|---|---|
1 | A | 100.00 | 2 | 0.1 |
2 | B | 50.00 | 3 | 0.05 |
3 | C | 10.00 | 10 | 0.2 |
现在,我们要计算每个订单的总金额,并将结果保留到两个小数位数。可以使用以下 SQL 语句:
SELECT OrderID, ROUND((UnitPrice * Quantity * (1 - Discount)), 2) AS TotalAmount
FROM Sales
运行上述 SQL 语句,将会得到以下结果:
OrderID | TotalAmount |
---|---|
1 | 180.00 |
2 | 142.50 |
3 | 80.00 |
示例 2
假设要计算一个学生的平均成绩,并将结果保留到一位小数。可以使用以下 SQL 语句:
SELECT AVG(Score), ROUND(AVG(Score), 1)
FROM Scores
WHERE Course = 'Math'
运行上述 SQL 语句,将会得到以下结果:
AVG(Score) | ROUND(AVG(Score), 1) |
---|---|
85.4625 | 85.5 |
结论
ROUND()
函数用于将数字四舍五入到指定的小数位数,并可根据需要指定舍入方式。通过对小数进行四舍五入,可以对数字进行特定格式的表示和处理。