Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Usando REGEXP_SUBSTR com qualificador de strings


O problema com sua consulta é que se você usar [^PLE] ele corresponderia a qualquer caractere diferente de P, L ou E. Você está procurando uma ocorrência de PLE consecutivamente. Então, use
select REGEXP_SUBSTR(colname,'(.+)PLE',1,1,null,1) 
from tablename

Isso retorna a substring até a última ocorrência de PLE na string.

Se a string contiver várias instâncias de PLE e apenas a substring até a primeira ocorrência precisar ser extraída, use
select REGEXP_SUBSTR(colname,'(.+?)PLE',1,1,null,1) 
from tablename