develog

split 본문

DB/Oracle

split

냐옴 2012. 12. 11. 15:50

FUNCTION FN_SPLIT(P_STR VARCHAR2)

RETURN T_LIST

IS

    V_LIST      T_LIST;

    V_PREV      VARCHAR2(1024);

    V_NEXT      VARCHAR2(1024);

    V_POS       NUMBER;

BEGIN

    V_NEXT := P_STR;

    V_LIST := T_LIST();


    LOOP

        V_POS := INSTR(V_NEXT, ',');


        IF V_POS = 0

        THEN

            V_LIST.EXTEND;

            V_LIST(V_LIST.COUNT) := V_NEXT;

            EXIT;

        END IF;


        V_PREV := SUBSTR(V_NEXT, 0, V_POS - 1);

        V_NEXT := SUBSTR(V_NEXT, V_POS + 1);


        V_LIST.EXTEND;

        V_LIST(V_LIST.COUNT) := V_PREV;

    END LOOP;


    RETURN V_LIST;

EXCEPTION

WHEN OTHERS

THEN

    RETURN T_LIST();

END FN_SPLIT;

'DB > Oracle' 카테고리의 다른 글

plsql default parameter  (0) 2012.12.13
Pseudo Columns  (0) 2012.12.12
oracle outer join or  (0) 2012.12.06
outer join test  (0) 2012.07.25
DROP, DELETE, TRUNCATE 차이점  (0) 2012.04.10
Comments