我有这个当前的 SP:
ALTER PROCEDURE [dbo].[GetHighestDrop]
@val1 AS FLOAT ,
@val2 AS FLOAT ,
@val3 AS FLOAT
AS
BEGIN
select case when @val1 < @val2 then
case when @val1 < @val3 then @val1
else @val3
end
when @val2 < @val3 then @val2
else @val3
end
END
我用这种语法调用它:
SELECT
GetHighestDrop @val1=((clmnA/clmnB)-1)*100,@val2=2,@val3=3
FROM dbo.tstTable
clmnA 和 clmbB 包含数字,如果我单独运行它们,例如:
SELECT ((clmnA/clmnB)-1)*100 FROM dbo.tstTable
我得到一个结果,它是一个浮点数,但是当我通过 GetHighestDrop 运行它时,它失败了。
知道为什么吗?