我试图在下面的UPDATE中执行CASE;
UPDATE [table]
SET CASE WHEN ((order - 20.00) < 0) THEN 0 ELSE (order - 20.00) END
WHERE id = 1
但我无法让它执行。我哪里出错了?
答案 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