CREATE OR REPLACE TYPE TB_SPLIT AS TABLE OF VARCHAR2(32767);
CREATE OR REPLACE FUNCTION SPLIT
(
P_LIST VARCHAR2,
P_DEL VARCHAR2
) RETURN TB_SPLIT PIPELINED
IS
L_IDX PLS_INTEGER;
L_LIST VARCHAR2(32767) := P_LIST;
L_VALUE VARCHAR2(32767);
BEGIN
LOOP
L_IDX := INSTR(L_LIST,P_DEL);
IF L_IDX > 0 THEN
PIPE ROW(SUBSTR(L_LIST,1,L_IDX-1));
L_LIST := SUBSTR(L_LIST,L_IDX+LENGTH(P_DEL));
ELSE
PIPE ROW(L_LIST);
EXIT;
END IF;
END LOOP;
RETURN;
END SPLIT;
/
SELECT ROWNUM, COLUMN_VALUE FROM TABLE(SPLIT('9,8,1,2,3,4,5,6,7',','));
'IT-Consultant' 카테고리의 다른 글
쓸만한 자동완성 스크립트 for jquery (0) | 2010.09.01 |
---|---|
DropBox vs 네이버 N 드라이브 비교 (0) | 2010.08.27 |
리눅스에서 랜카드 잡는 방법 (나름 고수의 방법) G41T-M (1) | 2010.08.26 |
Lucene에서 TooManyClause 에러가 난다면 maxClauseCount를 늘려보세요. (0) | 2010.08.25 |
MAT로 jvm out of memory 분석 준비 (0) | 2010.08.24 |