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

Jak získat část řetězce, která se shoduje s regulárním výrazem v Oracle SQL

Jedním ze způsobů, jak to udělat, je REGEXP_REPLACE. Musíte definovat celý řetězec jako vzor regulárního výrazu a poté použít pouze požadovaný prvek jako replace string . V tomto příkladu je ColorID třetím vzorem v celém řetězci

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

Je možné, že mohou existovat méně neohrabaná řešení regulárních výrazů, ale toto rozhodně funguje. Zde je housle SQL.



  1. Funkce pro týden v měsíci v mysql

  2. PHP - Pole jednoduchého vnořeného neuspořádaného seznamu (UL).

  3. Dotaz Mysql Datediff

  4. PostgreSQL:existuje vs levé připojení