oracle 문자열 을 줄 로 변환

SELECT   SUBSTR (T.RPT_ID,                INSTR (T.RPT_ID,',',1,C.LV)+ 1,                INSTR (T.RPT_ID,',',1,C.LV + 1)- (INSTR (T.RPT_ID,',',1,C.LV)+ 1))            AS RPT_ID  FROM   (SELECT ',' || '85,86,87' || ',' RPT_ID,                 LENGTH ('85,86,87' || ',') - NVL (LENGTH (REPLACE ('85,86', ',')), 0) CNT            FROM DUAL) t,         (SELECT LEVEL lv            FROM DUAL          CONNECT BY LEVEL <= LENGTH('85,86,87' || ',') - NVL(LENGTH(REPLACE('85,86,87', ',')), 0)) c WHERE   T.cnt>=c.lv 설명:CNT 는 문자열 안에 몇 글자 가 있 는 지 표시 합 니 다.문자열 이 표 의 필드 일 때 level<=최대 개수:1)를 가 져 옵 니 다.최대 개수 SELECT MAX(LENGTH(RPTID || ',') -            NVL(LENGTH(REPLACE(RPT_ID, ',')), 0)) INTO v_c    FROM DIM_AUDIT_TABLE@sjmh_inter;2).l 줄 바 꾸 기 SELECT T.TNAME,                       T.T_NAME_COMM,                       T.T_COLUMN,                       T.T_COLUMN_COMM,                       t.COMMENT_NL,                       t.COMMENT_NL_TIME,                       t.SEQ_USER_ID,                       SUBSTR(T.RPT_ID,                              INSTR(T.RPT_ID, '','', 1, C.LV) + 1,                              INSTR(T.RPT_ID, '','', 1, C.LV + 1) -                              (INSTR(T.RPT_ID, '','', 1, C.LV) + 1)) AS RPT_ID                  FROM (SELECT A.T_NAME,                               A.T_NAME_COMM,                               A.T_COLUMN,                               A.T_COLUMN_COMM,                               a.COMMENT_NL,                               a.COMMENT_NL_TIME,                               a.SEQ_USER_ID,                               '','' || A.RPT_ID || '','' RPT_ID,                               LENGTH(A.RPT_ID || '','') -                               NVL(LENGTH(REPLACE(A.RPT_ID, '','')), 0) CNT                          FROM DIM_AUDIT_TABLE@sjmh_inter A                         WHERE a.COMMENT_NL is not null) T,                       (SELECT LEVEL LV FROM DUAL CONNECT BY LEVEL <= '||v_c||') C                 WHERE C.LV <= T.CNT;
주의:위의 코드 가 원 격 코드 라면(SELECT LEVEL LV FROM DUAL CONNECT BY LEVEL<='|vc||')C,dual 시 계 를 사용 하지 마 세 요.all 로 바 꿀 수 있 습 니 다.objects 혹은 userobjects,그렇지 않 으 면 조회 할 수 있 지만 조회 한 SQL 을 한 표 에 삽입 할 때 한 줄 만 삽입 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기