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.