SQL Server ROUND() 函数
在 SQL Server 中,ROUND()
函数返回一个数值,该数值四舍五入到指定的长度。
ROUND(number, length [, function])
参数
number: 要四舍五入的输入数字。
length: 数字要四舍五入到的小数位数。长度可以是 tinyint、smallint 或 int 类型。
如果 length 是一个正整数,则它指定了数字需要四舍五入到的小数位数。
如果 length 是负数,它指定了数字小数点左侧要四舍五入的位数。
function: 是一个可选参数。它指定要执行的操作类型。默认值为 0。它可以是 tinyint、smallint 或 int。如果函数参数为零或省略,则对数字进行四舍五入。如果函数值不为零,则对数字进行截断。
返回值
返回值可以是 int、bigint、decimal、money 或 float。
示例 1
以下示例演示了使用不同 length 参数的 ROUND()
函数。
示例: ROUND()
SELECT ROUND (123.456, 0) AS Round0,
ROUND (123.456, 1) AS Round1,
ROUND (123.456, 2) AS Round2

在上面的示例中,它根据指定的长度对数字的小数部分进行四舍五入。如果 length 为 1,则四舍五入到第一位小数,如果 length 为 2,则四舍五入到第二位小数,依此类推。
示例 2
在此示例中,length 参数为负数。
示例: ROUND()
SELECT ROUND (123.46, 0) AS RoundZero, ROUND (123.46, -1) AS RoundNegative1, ROUND (123.46, -2) AS RoundNegative2

示例 3
在此示例中,function 参数值设置为 1。这里 ROUND()
函数截断输入值,如结果所示。
示例: ROUND()
SELECT ROUND (123.56, 0) AS Rounded, ROUND (123.56, 0, 1) AS RoundTruncate

示例 4
这里,length 参数为负数且大于小数点前的位数。返回值为零。
示例: ROUND()
SELECT ROUND (123.46, -4) AS Rndlarge

示例 5
ROUND()
函数与 Employee
表的 Salary
列一起使用来计算奖金。
示例: ROUND()
SELECT EmployeeID, Salary, ROUND ((Salary * 0.75), 2) AS EmpBonus FROM Employee
