-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 に答える