2017-05-18 32 views
1

高达数我有一个工资表,此列如何选择轮在SQL Server

EMPLOYEE_NAME SALARY 
------------------------ 
ANNA    113750 
MARRY   124300 
BELLA   105100 

我要围捕的工资数额与2000或5000的部分是在附近。所以对于这种情况,它将会像

EMPLOYEE_NAME SALARY 
------------------------ 
ANNA    114000 
MARRY   125000 
BELLA   106000 

有关其他信息,我使用了MS SQL Server。请帮我做到这一点。在此先感谢

回答

1

可以使用CEILING功能。

像:

SELECT EMPLOYEE_NAME CEILING(SALARY) 

Read this for further details

从上面的链接简短摘要:

在SQL Server(的Transact-SQL),上限函数返回的最小整数值大于或等于一个数字。

+0

请注明的答案,因为接受 – PinqPonq

0

试试这个。

select EMPLOYEE_NAME, ceiling(salary/1000.0) * 1000.0 as SALARY from table; 
+0

该宏将会四舍五入到最接近的1000,没有达到2000或5000 – Peter

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 
0

试试下面的方法天花板:

DECLARE @fraction MONEY = 1000 

    SELECT CEILING(113750/@fraction)*@fraction 
    SELECT CEILING(124300/@fraction)*@fraction 
    SELECT CEILING(105100/@fraction)*@fraction