De vierde parameter van REGEX_SUBSTR
is het genaamde occurence
. Je hoeft alleen maar het voorkomen in te stellen dat je voor elke kolom wilt zien:
CREATE TABLE T (id varchar2(30));
INSERT INTO T VALUES ('0234-RDRT-RS111-M-EU');
INSERT INTO T VALUES ('0234-RDRT-RSD123-M-EU');
SELECT regexp_substr(id,'[^-]+',1,1) as col1,
regexp_substr(id,'[^-]+',1,2) as col2,
regexp_substr(id,'[^-]+',1,3) as col3,
regexp_substr(id,'[^-]+',1,4) as col4,
regexp_substr(id,'[^-]+',1,5) as col5
FROM t;
COL1 COL2 COL3 COL4 COL5
0234 RDRT RS111 M EU
0234 RDRT RSD123 M EU
Zie REGEX_SUBSTR
in de documentatie van Oracle voor meer details.