我们假设我有一个包含三列Employee
,EID int
,Salary int
的表Dept varchar
。
我想要做的是将每位员工的工资增加5%,然后将增加的值四舍五入到最接近的整数,如2.7应该存储为3。
如何在SQL Sever查询中实现这一目标?
我尝试了这个查询,但它不起作用:
update Employee
set Salary = ROUND(Salary * @1.05)
但是它显示了这个错误:
圆函数需要2到3个参数
答案 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.