是否可以向UPDATE查询添加CASE语句?

时间:2012-08-28 10:32:40

标签: sql sql-server

我试图在下面的UPDATE中执行CASE;

UPDATE [table]
SET CASE WHEN ((order - 20.00) < 0) THEN 0 ELSE (order - 20.00) END
WHERE id = 1

但我无法让它执行。我哪里出错了?

3 个答案:

答案 0 :(得分:4)

您需要说出要设置的字段。

UPDATE [table] 
SET somefield = CASE WHEN order > 20.00 THEN (order - 20.00) ELSE 0 END 
WHERE id = 1 

答案 1 :(得分:3)

您需要将值分配给列。

答案 2 :(得分:1)

关闭,您忘记将要更新的列的名称添加到语句

UPDATE [table]
SET <name-of-column> = (CASE WHEN ((order - 20.00) < 0) THEN 0 ELSE (order - 20.00) END)
WHERE id = 1