split - REGEX_SUBSTR, REGEX_REPLACE

2022. 4. 22. 20:26Oracle/Oracle Tip

반응형

(1) 테스트 테이블 생성

create table split_table as
select 'a/b/c/d/e' name
from dual;

 

(2) REGEXP_SUBSTR

select regexp_substr(name,'[^/]+',1,1) regexp_substr_name1,
        regexp_substr(name,'[^/]+',1,2) regexp_substr_name2,
        regexp_substr(name,'[^/]+',1,3) regexp_substr_name3,
        regexp_substr(name,'[^/]+',1,4) regexp_substr_name4,
        regexp_substr(name,'[^/]+',1,5) regexp_substr_name5
from split_table;

결과

a b c d e

 

(3) REGEXP_REPLACE

select regexp_replace(name,'[^/]+') regexp_replace_name1,
        regexp_replace(name,'[^/]+','*') regexp_replace_name2
from split_table;

결과

//// */*/*/*/*

 

(4) 세로로 나열

select regexp_substr(name,'[^/]+',1,rownum) splite_name
from split_table
connect by rownum <= length(regexp_replace(name, '[^/]+')) +1;

결과

a
b
c
d
e

참고 : https://good4uprin.tistory.com/11

반응형