SQL Server中是否存在等效的赋值运算符?

时间:2015-06-03 14:42:06

标签: sql sql-server

在php,c或java中,如果我需要添加到计数中,我只需执行$value += 1;

我在sql server查询中寻找类似的操作。

背景

我有一个表跟踪一些简化列(id1,id2,TheCount)主键(id1,id2)的统计信息

我知道id1,id2和一个"修饰符"值可以是1,0或-1。我想要一个允许我使用修饰符更新计数列的查询。

实施例

理论上,这个查询看起来像是:

Update TheCounts SET TheCount += :modifier WHERE id1 = :id1 AND id2 = :id2

:...值是变量。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

Update TheCounts 
   SET TheCount = TheCount + @modifier 
WHERE id1 = @id1 AND id2 = @id2

但如果修饰符可以为0,则根本不想改变它。然后你应该检查一下,之前,f.e。使用If..Else,如果它存储在存储过程中或执行此操作。

或者您可以在WHERE

中执行此操作
WHERE @modifier <> 0 AND id1 = @id1 AND id2 = @id2