我正在尝试使用customername,city
从客户表中检索记录custname|city
Anand|London
Paul|Rome
.
.
.
然而,当重建时,如果城市是伦敦,则布鲁塞尔应显示在其位置,否则将显示原始城市名称。
我在查询'之后尝试过你
select custname,case city when 'London' then 'Brussels' end from customer;
和
select custname,deocde(city,'London','Brussels') from customer;
两者都将结果表示为:
custname|city
Anand|Brussels
Pau|
其他城市没有显示。如何正确编写此查询。请帮助我。提前谢谢
答案 0 :(得分:2)
您应该使用ELSE
:
select custname, case
when city = 'London' then 'Brussels'
else city
end as city
from customer;
答案 1 :(得分:2)
使用else
子句:
select custname,
(case city when 'London' then 'Brussels'
else city
end) as city
from customer;
答案 2 :(得分:0)
Decode有一个“else”子句。通常的格式是DECODE(column, search1, replace1[, search2, replace2][, default])
例如:DECODE(city, 'London', 'Brussels', city)
https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions040.htm