在表中有数据。就像这个
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次。现在需要交换/更改/更新苹果到橙色和橙色到苹果。
答案 0 :(得分:7)
您可以在case
声明中使用update
执行此操作:
update t
set name = (case when name = 'Apple' then 'Orange'
when name = 'Orange' then 'Apple'
end)
where name in ('Apple', 'Orange');
这是标准的SQL,可以在MySQL和Oracle中使用。
如果您不需要实际更改名称,只需在select
中交换名称,那么请在查询中执行逻辑:
select (case when name = 'Apple' then 'Orange'
when name = 'Orange' then 'Apple'
else name
end) as name
from t;
答案 1 :(得分:0)
update YourTable
set name =
case name
when 'Apple' then 'Orange'
when 'Orange' then 'Apple'
end
where name in ('Apple', 'Orange')