これを行う1つの方法は、REGEXP_REPLACEを使用することです。文字列全体を正規表現パターンとして定義してから、必要な要素だけをreplace string
として使用する必要があります。 。この例では、ColorIDは文字列全体の3番目のパターンです
SELECT REGEXP_REPLACE('product=1627;color=45;size=7'
, '(.*)(color\=)([^;]+);?(.*)'
, '\3') "colorID"
FROM DUAL;
不格好な正規表現ソリューションが少ない可能性がありますが、これは間違いなく機能します。 これがSQLフィドルです。