Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Why REGEXP_REPLACE does not consider LOWER() function

User_HMTR3Mar 31 2016 — edited Mar 31 2016

Hi everybody,

I have an issue with a simple query I want to use to make chars between "()" in lower case surrounded with "#" :

Example :

SELECT REGEXP_REPLACE('I am a test(E) (A) (HELLO)', '(\(\D\))', LOWER('#\1#')) FROM DUAL

What I am expecting as output is : I am a test#(e)# #(a)# (HELLO)

What I get as output is : I am a test#(E)# #(A)# (HELLO)

I don't understand why the LOWER function is ignored.

Can you help me understand this please ?

Thank you.

Best regards.

MS

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 28 2016
Added on Mar 31 2016
9 comments
1,586 views