2017-05-18 77 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