我试图用大写字母单独制作第一个字母。
select
case
when 'G' then 'GERMANY'
when 'US' then 'AMERICA'
when 'S' then 'SPAIN
else 'unknown'
from
customer
Run Code Online (Sandbox Code Playgroud)
Oracle 输出:
德国
美洲
西班牙
我不工作的“解决方案”
select
case initcap(land)
when 'G' then 'GERMANY'
when 'US' then 'AMERICA'
when 'S' then 'SPAIN
else 'unknown'
from
customer
Run Code Online (Sandbox Code Playgroud)
Oracle 输出:
德国
美洲
西班牙
由于每个人都必须对您的需求做出假设,因此我尝试了解您正在寻找的内容-
SELECT INITCAP (
CASE land
WHEN 'G' THEN 'GERMANY'
WHEN 'US' THEN 'AMERICA'
WHEN 'S' THEN 'SPAIN'
ELSE 'unknown'
END)
FROM customer;
Run Code Online (Sandbox Code Playgroud)
然而,我会争辩说,除非您有某种方法来自动生成这些 case 语句(我对此表示怀疑),否则为什么不WHEN 'G' THEN 'Germany'首先编写。