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

Sådan får du en del af strengen, der matchede med regulære udtryk i Oracle SQL

En måde at gøre det på er med REGEXP_REPLACE. Du skal definere hele strengen som et regex-mønster og derefter bruge det element, du vil have som replace string . I dette eksempel er ColorID det tredje mønster i hele strengen

SELECT REGEXP_REPLACE('product=1627;color=45;size=7'
                         , '(.*)(color\=)([^;]+);?(.*)'
                         , '\3') "colorID"  
FROM DUAL;  

Det er muligt, at der kan være mindre klodsede regex-løsninger, men denne virker bestemt. Her er en SQL Fiddle.



  1. Hvilken lås, hvis nogen, bruger 'CREATE TRIGGER' i PostgreSQL 9.4.2

  2. Hvorfor gik min MySQL-database ned? Få indsigt med den nye MySQL Freeze Frame

  3. Bash + MySQL -d backtick problem

  4. Kombinerer styrken af ​​SQL og proceduremæssige erklæringer med MariaDBs Oracle-kompatibilitetstilstand