Как преобразовать значение столбца в CamelCase с Oracle?

Мне нужен способ преобразования значения столбца в CamelCase с Oracle 10g. Я предпочитаю делать это в соответствии с моим оператором select, но если мне нужно использовать функцию, это тоже нормально.

Мне не нужно поддерживать символы подчеркивания, просто пробелы.

Спасибо

Ответ 1

Я думаю, что комбинация initcap() и replace() будет работать:

select replace(initcap('hi ben'),' ') from dual;

REPLA
-----
HiBen

Это просто заглавные буквы первого символа каждого слова, а затем ничего не заменяет пробелы.

Очевидно, что это не будет работать, если первый символ является числовым:

select replace(initcap('go 2stack overflow'),' ') from dual;

REPLACE(INITCAP(
----------------
Go2stackOverflow

Ответ 2

Это не мое понимание CamelCase

select substr(lower('Camel Case means the first char should be lower cased'),1,1)||substr(replace(initcap('Camel Case means the first char should be lower cased'),' '),2) from dual;
camelCaseMeansTheFirstCharShouldBeLowerCased                                    
1 row selected.