[Oracle] 사용자정의 SPLIT함수. 예제
.. CREATE OR REPLACE FUNCTION AHRANG.GET_SPLIT( IN_STR IN VARCHAR2, IN_DEL IN VARCHAR2 DEFAULT ',' ) RETURN VAR_ARRAY PIPELINED /**************************************************************** IN_STR 을 IN_DEL 구분으로 분리하여여 1차원 배열로 리턴 TYPE 생성 => CREATE OR REPLACE TYPE VAR_ARRAY AS TABLE OF VARCHAR2(1000); 사용 => SELECT * FROM TABLE(GET_SPLIT('ABC DEF 이름 네임 없음' ,' ')) *****************************************************************/ AS V_IDX INTEGER := 0; V_STR VARCHAR2(32767) := IN_STR; BEGIN LOOP V_IDX := INSTR(V_STR , IN_DEL ); IF (V_IDX > 0 ) THEN PIPE ROW(TRIM(SUBSTR(V_STR ,1,V_IDX-1))); V_STR := TRIM(SUBSTR(V_STR ,V_IDX + LENGTH(IN_DEL))); ELSE PIPE ROW(TRIM(V_STR)); EXIT; END IF; END LOOP; END; .
'IT TIP > Oracle' 카테고리의 다른 글
테스트용 실습 문제와 풀이 60문제 (0) | 2017.04.13 |
---|---|
오라클 테스트를 위한 자료테이블 DESC (0) | 2017.04.13 |
sqlplus - 기초실습3 (0) | 2017.04.13 |
sqlplus - 기초실습2 (0) | 2017.04.13 |
sqlplus - 기초실습1 (0) | 2017.04.13 |
REGEXP_SUBSTR함수로.SPLIT하기 (0) | 2017.04.06 |
계층구조 START WITH...CONNECT BY (0) | 2017.04.06 |
프로시저내 다이나믹 SQL 예제1 (0) | 2017.04.05 |
그룹내 순위결정하는 함수 - ROW_NUMBER() ,RANK() ,DENSE_RANK() (0) | 2017.04.05 |
오라클 총정리 - DBA 문법 (0) | 2017.04.02 |