在更新查询中使用CASE

时间:2010-12-17 11:25:05

标签: sql

我有以下SQL(使用MS SQL)

UPDATE AR_Slots
SET Running = @Running,
StopSignal = @StopSignal,
WHERE (SlotId = @SlotId)

如果Running parameter(boolean)为true,我想将一个名为RunListID的字段设置为0,否则我根本不想更改该值。

这样做的“正确”方法是什么?

谢谢, 斯蒂芬

1 个答案:

答案 0 :(得分:3)

尝试类似

的内容
UPDATE AR_Slots
SET RunListID = 
    CASE
       WHEN <your check value>
          THEN 0
       ELSE RunListID
    END,
    <your other sets>
WHERE <your criteria>