在一个表中有data.like this
ID NAME
1 Apple
2 Apple
3 Apple
4 orange
5 orange
6 orange
7 Apple
8 Apple
9 Apple
10 orange
11 orange
12 orange
数据可能超过 1000 次。现在需要交换/更改/更新苹果到橙色和橙色到苹果。
您可以case
在update
声明中使用 a 来执行此操作:
update t
set name = (case when name = 'Apple' then 'Orange'
when name = 'Orange' then 'Apple'
end)
where name in ('Apple', 'Orange');
这是标准 SQL,适用于 MySQL 和 Oracle。
如果您不需要实际更改名称,而只是将其换成 a select
,则执行查询中的逻辑:
select (case when name = 'Apple' then 'Orange'
when name = 'Orange' then 'Apple'
else name
end) as name
from t;
update YourTable
set name =
case name
when 'Apple' then 'Orange'
when 'Orange' then 'Apple'
end
where name in ('Apple', 'Orange')