Categories
- All Categories
- Oracle Analytics and AI Learning Hub
- 53 Oracle Analytics and AI Sharing Center
- 25 Oracle Analytics and AI Lounge
- 307 Oracle Analytics and AI News
- 57 Oracle Analytics and AI Videos
- 16.4K Oracle Analytics and AI Forums
- 6.6K Oracle Analytics and AI Labs
- Oracle Analytics and AI User Groups
- 118 Oracle Analytics and AI Trainings
- 22 Oracle Analytics and AI Challenge
- Find Partners
- For Partners
Using LOCATE() with Wildcards
Is it possible to use LOCATE(), or a similar function, with wildcards?
For example, if i'm searching in a string for '%N.___.3__%'. Is it possible to use an existing function to find and extract the value using SUBSTRING()?
Best Answer
-
LOCATEdoesn't support wildcards like theLIKEoperator does in SQL with '_' and '%'.And I don't remember any regular expression string function in LSQL. Depending what you are trying to do, if a regex is what you need, you will need to consider pushing that down to your database if that's possible.
0
Answers
-
the example in this link might help
https://forums.oracle.com/ords/apexds/post/how-to-use-locate-function-if-multiple-occurences-of-same-c-7128
0 -
Adding as extension to the lack of wildcards or regexp on LSQL, you can translate a '%N.__.3__%' into a series if LOCATE, SUBSTRING, If-Else conditions. It will be ugly, difficult to maintain and even more to explain what it does over time. And you better not have such kind of expression applied to more than a few rows, because you will pay a huge performance tax. That's why a quickwin could be EVALUATE to push to the database the job (it has more functions that can do the job better than LSQL), or ideally directly in the database as an integration step before to report and analyse data.
0

