2017-05-18 8 views
1

ich mit dieser Rubrik eine GehaltstabelleWie Zahl in SQL Server SELECT aufrunden

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

Ich möchte aufrunden die Höhe des Gehalts mit 2000 oder 5000 Fraktionen haben, die in der Nähe ist. Also für diesen Fall wird es sein wie

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

Für zusätzliche Informationen habe ich MS SQL Server verwendet. Bitte hilf mir, das zu tun. Vielen Dank im Voraus

Antwort

1

Sie die CEILING Funktion nutzen zu können.

Like:

SELECT EMPLOYEE_NAME CEILING(SALARY) 

Read this for further details

Kurze Zusammenfassung aus dem obigen Link:

In SQL Server (Transact-SQL), gibt die CEILING-Funktion der kleinsten ganzzahliger Wert, der größer oder gleich einer Zahl ist.

+0

Bitte geben Sie die Antwort als angenommen – PinqPonq

0

versuchen Sie dies.

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

markieren es wil Runde auf den nächsten 1000, nicht bis 2000 oder 5000 – Peter

0

Teilen Sie das Gehalt durch die Fraktion. Verwenden Sie die Decke zum Aufrunden. Dann multipliziere mit der Fraktion.

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

Versuchen unter DECKEN Methode:

DECLARE @fraction MONEY = 1000 

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