Запрос:
WITH sample_data ("COMMENT") AS (
SELECT '||1|21|-1|-1|-1|0||||' FROM DUAL
)
SELECT REGEXP_SUBSTR("COMMENT", '(.*?)(\||$)', 1, 1, NULL, 1) AS col1,
REGEXP_SUBSTR("COMMENT", '(.*?)(\||$)', 1, 2, NULL, 1) AS col2,
REGEXP_SUBSTR("COMMENT", '(.*?)(\||$)', 1, 3, NULL, 1) AS col3,
REGEXP_SUBSTR("COMMENT", '(.*?)(\||$)', 1, 4, NULL, 1) AS col4,
REGEXP_SUBSTR("COMMENT", '(.*?)(\||$)', 1, 5, NULL, 1) AS col5,
REGEXP_SUBSTR("COMMENT", '(.*?)(\||$)', 1, 6, NULL, 1) AS col6,
REGEXP_SUBSTR("COMMENT", '(.*?)(\||$)', 1, 7, NULL, 1) AS col7,
REGEXP_SUBSTR("COMMENT", '(.*?)(\||$)', 1, 8, NULL, 1) AS col8,
REGEXP_SUBSTR("COMMENT", '(.*?)(\||$)', 1, 9, NULL, 1) AS col9,
REGEXP_SUBSTR("COMMENT", '(.*?)(\||$)', 1, 10, NULL, 1) AS col10,
REGEXP_SUBSTR("COMMENT", '(.*?)(\||$)', 1, 11, NULL, 1) AS col11,
REGEXP_SUBSTR("COMMENT", '(.*?)(\||$)', 1, 12, NULL, 1) AS col12
FROM sample_data;
Выход:
COL1 COL2 COL3 COL4 COL5 COL6 COL7 COL8 COL9 COL10 COL11 COL12
---- ---- ---- ---- ---- ---- ---- ---- ---- ----- ----- -----
1 21 -1 -1 -1 0
кто-нибудь может помочь? – arash