T-SQL:如何使正值变成等效的负值(例如“10.00”到“-10.00”

RPM*_*984 2 t-sql stored-procedures

好的,我有一个DECIMAL名为“分数”的字段。(例如10.00

现在,在我的 SP 中,我想在更新事务中增加/减少该字段的值。

所以我可能想这样做:

SET @NewScore = @CurrentScore + @Points
Run Code Online (Sandbox Code Playgroud)

我将在哪里@Points增加/减少值。

现在我们来说说@Points = 10.00

在某种场景下,我想10.00成为-10.00

因此该声明将被翻译为:

SET @NewScore = @CurrentScore + -10.00
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

我知道这是一个奇怪的问题,但基本上我希望该语句是动态的,因为我不想有不同的语句来递增/递减值。

我只想要这样的东西:

SET @Points = 10.00
IF @ActivityBeingPerformedIsFoo
BEGIN
   -- SET @Points to be equivalent negative value, (e.g -10.00)
END
SET @NewScore = @CurrentScore + @Points
Run Code Online (Sandbox Code Playgroud)

Chr*_* B. 5

不能直接乘以-1吗?