-1

我的表中有四列:

  • 税收和其他支出百分比
  • *净额***
  • * Taxandotherexpendituremoney **
  • 数量

现在我想要的是netamount列中的用户定义函数,它根据用户提供的值计算Amount和

即假设用户提供 25% 作为Taxandotherexpenditurespercent那么NetAmount必须是金额- Taxandotherexpenditurespercent

同样,如果供应价值为 100,则NetAmount必须为Amount - Taxandotherexpendituremoney

我试过用谷歌搜索它和所有东西,但我找不到任何对用户定义函数的满意解释?

4

1 回答 1

0

这是你可以做的。当然改变一点以满足您的要求。

CREATE FUNCTION UDF_FindDifference (@OtherExpenditures VARCHAR(50))
RETURNS INT
AS
BEGIN
DECLARE @NetAmount INT

IF(CHARINDEX('%', @OtherExpenditures) > 0)
    BEGIN

        DECLARE @Amount INT

        SELECT @Amount = Taxandotherexpenditurespercent FROM yourTABLE

        SET @NetAmount = @Amount - REPLACE(@OtherExpenditures, '%', '')


    END
ELSE
    BEGIN

        DECLARE @Amount2 INT

        SELECT @Amount2 = Taxandotherexpendituremoney FROM yourTABLE

        SET @NetAmount = @Amount2 - @OtherExpenditures

    END 
RETURN @NetAmount
END

所以我在这里检查用户输入是否有%符号,并根据这个标准进行计算。

于 2013-03-17T07:13:23.600 回答