Oracle
 sql >> Database >  >> RDS >> Oracle

Utilizzo di REGEXP_SUBSTR con il qualificatore di stringhe

Il problema con la tua query è che se usi [^PLE] corrisponderebbe a qualsiasi carattere diverso da P o L o E. Stai cercando un'occorrenza di PLE consecutivamente. Quindi, usa

select REGEXP_SUBSTR(colname,'(.+)PLE',1,1,null,1) 
from tablename

Questo restituisce la sottostringa fino all'ultima occorrenza di PLE nella stringa.

Se la stringa contiene più istanze di PLE ed è necessario estrarre solo la sottostringa fino alla prima occorrenza, utilizzare

select REGEXP_SUBSTR(colname,'(.+?)PLE',1,1,null,1) 
from tablename