create procedure xxx(@int float out)
declare @int2 float
select @int2=@int;
if @int2<2160
begin
select @int=0
return
end
else if @int2=2160
begin
select @int=@int2
return
end
else
begin
while @int2>2160 do
@int2=@int2-@int2*2/5 if @int2=2160 then
begin
select @int=@int2
return
end
else
begin
select @int=0
return
end
end
--使用
declare @n float
select @n=exec xxx(@n)
declare @int2 float
select @int2=@int;
if @int2<2160
begin
select @int=0
return
end
else if @int2=2160
begin
select @int=@int2
return
end
else
begin
while @int2>2160 do
@int2=@int2-@int2*2/5 if @int2=2160 then
begin
select @int=@int2
return
end
else
begin
select @int=0
return
end
end
--使用
declare @n float
select @n=exec xxx(@n)
set @a=10000
while (@a<>2160)
begin
set @a=@a -(@a * 0.4)
end
print @a