sql >> Databáze >  >> RDS >> Oracle

Použití REGEXP_SUBSTR s kvalifikátorem řetězců

Problém s vaším dotazem je, že pokud použijete [^PLE] odpovídalo by to všem znakům jiným než P nebo L nebo E. Hledáte výskyt PLE za sebou. Takže použijte

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

To vrátí podřetězec až po poslední výskyt PLE v řetězci.

Pokud řetězec obsahuje více instancí PLE a je třeba extrahovat pouze podřetězec až do prvního výskytu, použijte

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


  1. Vytvořit více než jednu proceduru v souboru SQL?

  2. Doktrína Symfony2 se připojuje k databázi přes SSL

  3. PHP mysql_real_escape_string():Přístup odepřen uživateli 'www-data'@'localhost'

  4. Aktualizace MySQL pomocí poddotazu v režimu bezpečné aktualizace