I am using regexp_like function to search specific patterns on a column. But, I see this query is not taking the index created on this column instead going for full table scan. Is there any option to create function based index for regexp_like so that my query will use that index? Here, the pattern SV4889 is not constant expression but it will vary every time.
select * from test where regexp_like(id,'SV4889')
regexp_like. That would depend on whether what you're looking for can be read as separate words by Oracle Text. If you're looking for "SV4889" inside a larger string, i.e. "1234ASV4889887Y", you're probably stuck. If the string is more of the form "1234A SV8889 887Y", you can probably use Oracle Text.