/*
新个税计算公式
<=1500 3% 0
>1500 <=4500 10% 105
>4500 <=9000 20% 555
>9000 <=35000 25% 1005
>35000 <=55000 30% 2755
>55000 <=80000 35% 5505
>80000 <=45% 13505
*/
if OBJECT_ID('dbo.cal') is not null
drop function dbo.cal
go
create function dbo.cal(
@salary money,
@k money
) returns varchar(100)
as
begin
declare @startNum as money = 3500
declare @cha as money
declare @result as money
set @cha = @salary - @k - @startNum;
if @cha <= 0 set @result = 0
else if @cha>0 and @cha<=1500 set @result = @cha *3/100
else if @cha>1500 and @cha<=4500 set @result = @cha *10/100-105
else if @cha>4500 and @cha<=9000 set @result = @cha *20/100-555
else if @cha>9000 and @cha<=35000 set @result = @cha *25/100-1005
else if @cha>35000 and @cha<=55000 set @result = @cha *30/100-2755
else if @cha>55000 and @cha<=80000 set @result = @cha *35/100-5505
else if @cha>80000 set @result = @cha *45/100-13505
return cast(@result as varchar(10))
end
go