Ett sätt att göra det är med REGEXP_REPLACE. Du måste definiera hela strängen som ett regexmönster och sedan använda bara det element du vill ha som replace string
. I det här exemplet är ColorID det tredje mönstret i hela strängen
SELECT REGEXP_REPLACE('product=1627;color=45;size=7'
, '(.*)(color\=)([^;]+);?(.*)'
, '\3') "colorID"
FROM DUAL;
Det är möjligt att det kan finnas mindre klumpiga regex-lösningar, men den här fungerar definitivt. Här är en SQL-fiol.