REGEXP_SUBSTR 질문드립니다 1 5 6,069

by 김용한 REGEXP_SUBSTR [2012.03.29 06:44:07]


WITH T AS
(
SELECT 'aa_구분자_bb'  nm FROM DUAL
)
SELECT REGEXP_SUBSTR( T.nm, '[^_]+',1,1 ) col1
, REGEXP_SUBSTR( T.nm, '[^_]+',1,2 ) col2
, REGEXP_SUBSTR( T.nm, '[^_]+',1,3 ) col3
    FROM T
=> 결과는 아래와같이나옵니다
col1 col2     col3
aa    구분자 bb

=> _구분자_ 
로 구분해서 아래와같은결과가 나오게하려면 잘모르겠더군요 정규표현식으로 부탁드려요~~~

col1 col2
aa     bb
by 마농 [2012.03.29 08:53:55]
 
SELECT nm
     , REGEXP_REPLACE(nm, '(.+)_구분자_(.+)', '\1') col1
     , REGEXP_REPLACE(nm, '(.+)_구분자_(.+)', '\2') col2
     , REGEXP_REPLACE(nm, '_구분자_.*') col1
     , REGEXP_REPLACE(nm, '.*_구분자_') col2
  FROM t
;

by 제로 [2012.03.29 08:56:09]
WITH T AS
(
SELECT 'aa_구분자_bb' nm FROM DUAL
)
SELECT REGEXP_SUBSTR( T.nm, '[^(_구분자_)]+', 1, 1) col1
   , REGEXP_SUBSTR( T.nm, '[^(_구분자_)]+', 1, 2) col2
FROM T;

by 손님 [2012.03.29 09:07:54]

REGEXP_SUBSTR( T.nm, '[[:lower:]]+', 1, 1)  col1
REGEXP_SUBSTR( T.nm, '[[:lower:]]+', 1, 2)  col2

by 손님 [2012.03.29 09:09:05]
 REGEXP_SUBSTR( T.nm, '[[:alpha:]]+', 1, 1) col1
 REGEXP_SUBSTR( T.nm, '[[:alpha:]]+', 1, 3) col2

 REGEXP_SUBSTR( T.nm, '[[:alpha:]]+', 1, 2) => 구분자 

by 김용한 [2012.03.29 09:22:02]

감사해요 ~^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입