使用其值的某个百分比更新表的列,然后将其四舍五入到SQL中的最接近的整数?

时间:2017-01-31 12:53:43

标签: c# asp.net sql-server

我们假设我有一个包含三列EmployeeEID intSalary int的表Dept varchar

我想要做的是将每位员工的工资增加5%,然后将增加的值四舍五入到最接近的整数,如2.7应该存储为3。

如何在SQL Sever查询中实现这一目标?

我尝试了这个查询,但它不起作用:

update Employee 
set Salary = ROUND(Salary * @1.05)

但是它显示了这个错误:

  

圆函数需要2到3个参数

1 个答案:

答案 0 :(得分:1)

如果薪水是int,那么该值将自动截断以适应。所以,只需添加0.5:

update Employee
    set Salary = Salary * 1.05 + 0.5;

如果你想对舍入规则非常迂腐:

update Employee
    set Salary = round(Salary * 1.05, 0);

我说迂腐,因为“1.5”四舍五入为2,但“4.5”四舍五入为4.