我有一个包含此列的薪水表
EMPLOYEE_NAME SALARY
------------------------
ANNA 113750
MARRY 124300
BELLA 105100
我想用附近的2000或5000分数来计算工资额。所以对于这种情况,它就像
EMPLOYEE_NAME SALARY
------------------------
ANNA 114000
MARRY 125000
BELLA 106000
有关其他信息,我使用的是MS SQL Server。请帮我这样做。提前致谢
答案 0 :(得分:1)
您可以使用CEILING
功能。
像:
SELECT EMPLOYEE_NAME CEILING(SALARY)
以上链接的简短摘要:
在SQL Server(Transact-SQL)中,CEILING函数返回大于或等于数字的最小整数值。
答案 1 :(得分:0)
与ROUND
(向上和向下舍入)不同,CELING
函数(您想要向上舍入)没有长度参数(如ROUND(salary, -3)
中所示)。因此,除以得到期望的结果:
select employee_name, ceiling(salary / 1000.0) * 1000.0 as salary
from mytable;
CEILING
:https://msdn.microsoft.com/de-de/library/ms189818.aspx ROUND
:https://msdn.microsoft.com/de-de/library/ms175003.aspx 答案 2 :(得分:0)
试试这个。
select EMPLOYEE_NAME, ceiling(salary / 1000.0) * 1000.0 as SALARY from table;
答案 3 :(得分:0)
将薪水除以分数。使用天花板来围捕。然后乘以分数。
Declare @salary table (Employee_name nvarchar(50), Salary money)
Declare @fraction money = 5000
insert into @salary
values
('ANNA', 113750),
('MARRY', 124300),
('BELLA', 105100)
update @salary
set Salary = ceiling(salary/@fraction)*@fraction
select * from @salary
答案 4 :(得分:0)
尝试以下CEILING方法:
DECLARE @fraction MONEY = 1000
SELECT CEILING(113750/@fraction)*@fraction
SELECT CEILING(124300/@fraction)*@fraction
SELECT CEILING(105100/@fraction)*@fraction