Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Używanie REGEXP_SUBSTR z kwalifikatorem ciągów

Problem z zapytaniem polega na tym, że jeśli użyjesz [^PLE] pasowałby do dowolnych znaków innych niż P, L lub E. Szukasz kolejno wystąpienia PLE. Użyj więc

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

Zwraca podciąg aż do ostatniego wystąpienia PLE w ciągu.

Jeśli ciąg zawiera wiele wystąpień PLE i należy wyodrębnić tylko podciąg do pierwszego wystąpienia, użyj

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dynamiczna partycja tabeli Oracle

  2. Krok po kroku R12.2.6 Instalacja EBS na Virtual Box Część -2

  3. PLS-00394:Niewłaściwa liczba wartości na liście INTO instrukcji pobierania

  4. Najlepsza nie zerowa kolumna

  5. Lepsza współbieżność w Oracle niż SQL Server?