I need a way to convert a column value to CamelCase with Oracle 10g. I prefer to do it in-line with my select statement but if I have to use a function, that is OK too.
I don't need to support underscores, just spaces.
Thanks
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. CamelCase could also be the first letter.
The CASE statement can be used in the following versions of Oracle/PLSQL: Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i.
The default behaviour of LIKE and the other comparison operators, = etc is case-sensitive.
I guess a combination of initcap()
and replace()
would work:
select replace(initcap('hi ben'),' ') from dual;
REPLA
-----
HiBen
This simply capitalises the first character of every word and then replaces the spaces with nothing.
It obviously won't work if the first character is numeric:
select replace(initcap('go 2stack overflow'),' ') from dual;
REPLACE(INITCAP(
----------------
Go2stackOverflow
That's not my understanding of 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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With