Tham số thứ tư của REGEX_SUBSTR
được gọi là occurence
. Bạn chỉ cần đặt thời gian xuất hiện bạn muốn xem cho mỗi cột:
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
Xem REGEX_SUBSTR
trong tài liệu của Oracle để biết thêm chi tiết.