以oracle形式转换输入中每个单词大写的第一个字符

时间:2016-04-05 14:25:15

标签: oracle oracleforms

我正在为学生姓名输入使用文本字段输入。如何自动转换每个单词的第一个字符?

1 个答案:

答案 0 :(得分:3)

来自Oracle documentation

  

INITCAP返回char,每个单词的第一个字母为大写,   所有其他小写字母。单词由空格或空格分隔   不是字母数字的字符。

SELECT INITCAP('the soap') "Capitals" FROM DUAL; 

Capitals
---------
The Soap

当然,INITCAP有自己的规则,因此您需要检查其行为是否符合您的需要;使用MT0的例子:

SQL> with test(text) as (
  2  select 'o''brien' from dual union all
  3  select 'mary-anne' from dual union all
  4  select 'mcdonald' from dual
  5  )
  6  select text, initcap(text)
  7  from test;

TEXT      INITCAP(T
--------- ---------
o'brien   O'Brien
mary-anne Mary-Anne
mcdonald  Mcdonald