SQL 更新查询
我可以在 UPDATE
子句中使用多个 WHEN
条件来更新单个列吗?
我想更新具有 ID 和 NAME 列的表 TABLE:
下面的查询正确吗?
UPDATE TABLE
SET id = CASE id
WHEN id IN (2, 3, 4) THEN 1
WHEN id= 5 THEN 8
WHEN id IN(9, 7) THEN 6
WHERE name = 'abc'
Can i use several WHEN
conditions in UPDATE
clause to update a single column.
I want to update table TABLE having columns ID and NAME:
Is below query correct?
UPDATE TABLE
SET id = CASE id
WHEN id IN (2, 3, 4) THEN 1
WHEN id= 5 THEN 8
WHEN id IN(9, 7) THEN 6
WHERE name = 'abc'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,这是允许的,但请删除
CASE
之后的ID
。并且,您需要END
您的案例。CASE 有两种替代语法。如上所述,另一个是您想要将单个值与其他值进行比较的地方,如下所示:
Yes, that is allowed, but remove
ID
afterCASE
. And, you need toEND
your case.There are two alternate syntaxes for CASE. As above, and the other is where you want to compare a single value against others, like this:
案例有两个版本:
版本 1:
版本 2:
以上两者是等效的
Case comes in two versions:
version 1:
version 2:
Both of above are equivilent