sql >> データベース >  >> RDS >> Oracle

OracleSQLの正規表現と一致する文字列の一部を取得する方法

    これを行う1つの方法は、REGEXP_REPLACEを使用することです。文字列全体を正規表現パターンとして定義してから、必要な要素だけをreplace stringとして使用する必要があります。 。この例では、ColorIDは文字列全体の3番目のパターンです

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

    不格好な正規表現ソリューションが少ない可能性がありますが、これは間違いなく機能します。 これがSQLフィドルです。



    1. Oracle:2つのインデックスを使用する

    2. MySQLでWebサイトを作成する

    3. 複数のデータベースにストアドプロシージャをインストールする

    4. PASSフィードバックに関するいくつかの簡単なこと