Ayyoudy
Ayyoudy

Reputation: 3721

How to convert column value to CamelCase with Oracle?

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

Upvotes: 14

Views: 50155

Answers (2)

Dave the Humanoid
Dave the Humanoid

Reputation: 61

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.

Upvotes: 6

Ben
Ben

Reputation: 52903

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

Upvotes: 44

Related Questions