0
当我使用INITCAP时,它返回字符,每个单词的第一个字母大写,所有其他字母小写。oracle:initCap不转换所有其他小写字母
所以这这是导致
INITCAP(预言DB)===> Oracle数据库。
但是我需要Oracle DB的结果。
只有大写每个单词中的第一个字符而不强制其他字符更低。有没有办法做到这一点 ?
当我使用INITCAP时,它返回字符,每个单词的第一个字母大写,所有其他字母小写。oracle:initCap不转换所有其他小写字母
所以这这是导致
INITCAP(预言DB)===> Oracle数据库。
但是我需要Oracle DB的结果。
只有大写每个单词中的第一个字符而不强制其他字符更低。有没有办法做到这一点 ?
尝试这样:
initcap(substr('oracle DB',0,2)) + substr('oracle DB',2)
或
concat(initcap(substr('oracle DB',0,2)) , substr('oracle DB',2))
select
concat(upper(substr(mytext,1,1)), substr(mytext,2)) as result
from (
select 'oracle DB' as mytext from dual
) q;
如果是因为只有字符串的第一个字符,然后UPPERing第一个字符是不够好。
您必须拆分文本然后使用initcap,然后再将其与其他拆分文本一起添加 – Avi
请提供其他测试用例。例如它应该如何转换这些字符串:'mcdonald','connor mcdonald','coNnor mcDonalD'? –