El cuarto parámetro de REGEX_SUBSTR
es el llamado occurence
. Solo tiene que establecer la ocurrencia que desea ver para cada columna:
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
Consulte REGEX_SUBSTR
en la documentación de Oracle para obtener más detalles.