1 create Database type SQL code CREATE or replace type STR_SPLIT as table of varchar2 (50) 2 create function www.2cto.com SQL code CREATE OR REPLACE FUNCTION SPLITSTR (P_STRING
IN VARCHAR2, P_DELIMITER IN VARCHAR2) RETURN STR_SPLIT pipelined is V_LENGTH NUMBER: = LENGTH (P_STRING); V_START NUMBER: = 1; V_INDEX NUMBER; begin while (V_START <= V_LENGTH) LOOP V_INDEX: = INSTR (P_STRING, P_DELIMITER, V_START); IF V_INDEX = 0 then pipe row (SUBSTR (P_STRING, V_START); V_START: = V_LENGTH + 1; else pipe row (SUBSTR (P_STRING, V_START, V_INDEX-V_START); V_START: = V_INDEX + 1; END IF; end loop; RETURN; end splitstr; 3 test www.2cto.com SQL code select * from table (splitstr ('hello, Cnblogs! ',', '); Converts rows into columns for display: SQL code select. column_value v1, B. column_value v2 from (select * from (select rownum rn, t. * from table (splitstr
('Hello, Cnblogs! ',', ') T) a, (select * from (select rownum rn, t. * from table (splitstr
('Hello, Cnblogs! ',', ') T) B where a. rn = 1 and B. rn = 2