oracle:initCap没有转换所有其他小写字母

时间:2016-06-22 11:53:36

标签: sql regex database oracle

当我使用INITCAP时,它返回char,每个单词的第一个字母为大写,所有其他字母均为小写。

所以这是结果

INITCAP(oracle DB)===> Oracle Db。

但是我需要结果作为Oracle DB。

仅将每个单词中的第一个字符大写,而不强制其他字符更低。那可以吗?

2 个答案:

答案 0 :(得分:1)

尝试这样的事情:

 initcap(substr('oracle DB',0,2)) + substr('oracle DB',2)

concat(initcap(substr('oracle DB',0,2)) , substr('oracle DB',2))

答案 1 :(得分:0)

select 
concat(upper(substr(mytext,1,1)), substr(mytext,2)) as result 
from (
   select 'oracle DB' as mytext from dual
) q;

如果只是字符串的第一个字符,那么UPPER第一个字符就足够了。