SQL 新个税计算

/*
新个税计算公式
<=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
原文地址:https://www.cnblogs.com/gdjlc/p/2395244.html