Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Verwendung von REGEXP_SUBSTR mit Strings Qualifier

Das Problem mit Ihrer Abfrage ist, dass Sie [^PLE] verwenden es würde mit allen anderen Zeichen als P oder L oder E übereinstimmen. Sie suchen nach einem fortlaufenden Vorkommen von PLE. Verwenden Sie also

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

Dies gibt den Teilstring bis zum letzten Vorkommen von PLE in dem String zurück.

Wenn die Zeichenfolge mehrere Instanzen von PLE enthält und nur die Teilzeichenfolge bis zum ersten Vorkommen extrahiert werden muss, verwenden Sie

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