我的表格中有四列:
现在我想要的是 netamount 列中的用户定义函数,该列计算金额之间的差异,并根据用户提供的值
即。假设用户提供25%为 Taxandotherexpenditurespercent ,则 NetAmount 必须金额 - Taxandotherexpenditurespercent
同样,如果值耗材为100,那么 NetAmount 必须金额 - Taxandotherexpendituremoney 。
我已经尝试使用谷歌搜索,除了我找不到用户定义函数的任何满意解释之外的一切?
答案 0 :(得分:0)
这是你可以做的。 Ofcourse改变了一点以满足您的要求。
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
所以我在这里检查用户输入是否有%
符号,并根据此条件进行计算。