1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | CREATE OR REPLACE FUNCTION SPLIT(P_INPUT_LIST VARCHAR2, P_RET_THIS_ONE NUMBER, P_DELIMITER VARCHAR2) RETURN VARCHAR2 /*****************************************************************************************/ /* P_DELIMITER로 구분된 문자열을 구분하여 해당 INDEX의 값을 리턴하는 함수 /* /* CREATE BY D.CAT /*****************************************************************************************/ IS V_LIST VARCHAR2(32767) := P_DELIMITER || P_INPUT_LIST; START_POSITION NUMBER; END_POSITION NUMBER; BEGIN START_POSITION := INSTR(V_LIST, P_DELIMITER, 1, P_RET_THIS_ONE); IF START_POSITION > 0 THEN END_POSITION := INSTR( V_LIST, P_DELIMITER, 1, P_RET_THIS_ONE + 1); IF END_POSITION = 0 THEN END_POSITION := LENGTH(V_LIST) + 1; END IF; RETURN(SUBSTR(V_LIST, START_POSITION + 1, END_POSITION - START_POSITION - 1)); ELSE RETURN NULL; END IF; END SPLIT; | cs |
'DB > Oracle' 카테고리의 다른 글
테이블스페이스 관리 및 확장 (0) | 2018.01.23 |
---|---|
[ORA-01847] NVL과 Date Type에 대한 일반적인 잘못된 사용법 (1) | 2018.01.08 |
DOS Mode (CMD) 창에서 Query 결과를 File로 Export (0) | 2014.06.04 |
SQLPLUS로 다른 네트워크에 접속하기 (0) | 2014.06.04 |
오라클 정규식 (REGEXP)의 사용 (3) | 2014.06.04 |