INITCAP功能,几乎没有例外

时间:2013-09-11 16:49:59

标签: sql oracle

嘿,我要求输入列名;除少数字符串外。

Source
THE BANK OF AMERICA
BANK OF BARODA
SEABANK OF INDIA

target
The BANK Of America
BANK Of Baroda
SeaBANK of INDIA

在这种情况下我想要输入传入的字符串,但我需要保留“BANK”值和“INDIA”原样。

2 个答案:

答案 0 :(得分:1)

SELECT REGEXP_REPLACE (
          REGEXP_REPLACE (INITCAP ('SEABANK OF INDIA'), '(B|b)ank', 'BANK'),
          '(I|i)ndia',
          'INDIA')
  FROM DUAL;

输出:

  

印度海岸银行

答案 1 :(得分:1)

SELECT REPLACE(REPLACE(REPLACE(initcap('THE BANK OF AMERICA 
BANK OF BARODA 
SEABANK OF INDIA'), 'Bank', 'BANK'), 'India', 'INDIA'),'bank', 'BANK') 
FROM dual;