-1

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

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

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

4

3 回答 3

4

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

UPDATE [table] 
SET somefield = CASE WHEN order > 20.00 THEN (order - 20.00) ELSE 0 END 
WHERE id = 1 
于 2012-08-28T10:34:44.213 回答
3

您需要将值分配给列。

于 2012-08-28T10:34:23.927 回答
1

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

UPDATE [table]
SET <name-of-column> = (CASE WHEN ((order - 20.00) < 0) THEN 0 ELSE (order - 20.00) END)
WHERE id = 1
于 2012-08-28T10:35:22.460 回答