SELECT SUBSTR(FIELD1,INSTR(FIELD1,'|',1,ROWNUM) + 1,ROWNUM + 1) - INSTR(FIELD1,ROWNUM) - 1) AS FIELD2 FROM (SELECT '|' || 'a|bbb|cccc|ddddd|ee|d|a' || '|' AS FIELD1 FROM DUAL) CONNECT BY INSTR(FIELD1,2,ROWNUM) > 0;
SELECT SUBSTR(FIELD1,INSTR(FIELD1,'|',1,ROWNUM) + 1,ROWNUM + 1) - INSTR(FIELD1,ROWNUM) - 1) AS FIELD2 FROM (SELECT '|' || 'a|bbb|cccc|ddddd|ee|d|a' || '|' AS FIELD1 FROM DUAL) CONNECT BY INSTR(FIELD1,2,ROWNUM) > 0;