-1

提供我在我的表四列值两列之间的差异:用户定义的函数来计算基于用户

  • Taxandotherexpenditurespercent
  • * NetAmount ***
  • * Taxandothereherependituremoney **
  • 金额

现在我想是在netamount柱用户定义的函数,其计算金额并根据由用户提供的值

即假设用户电源之间差25 %as Taxandothereexpenditurespercent then NetAmount必须是金额 - Taxandotherexpenditurespercent

类似地,如果值是耗材100然后NetAmount必须金额 - Taxandotherexpendituremoney

我试过Google和它的一切,但我找不到任何满意的解释给用户定义的功能?

回答

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 

所以我在这里检查,如果用户输入具有%迹象,基于这一标准我做计算。