정규식좀 도와주세요 0 3 634

by 곰탱이 [SQL Query] [2017.12.17 23:56:35]


REGEXP_REPLACE 를 활용해서 값을 찾을려고 하는데

콤마로 구분된게 유동적이라 이게 잘 안되네요 ㅠㅠ

 

------------
    SELECT 'ABC(D1), AADDEE(D12), TTTCS(D3), KA(C1111)' STR  FROM DUAL UNION ALL
    SELECT 'TEST1(BD), TEST(DDD) ' STR FROM DUAL    
------------

REGEXP_REPLACE 를 통해

 

가로의 값들이 제거가 된 값

-> ABC, AADDEE, TTTCS, KA

-> TEST1, TEST

그리고 가로안의 값

-> D1, D12, D3, C1111
-> BD, DDD

을 뽑아내고 싶은데 어떡해야하나요..

 

by 그로밋 [2017.12.18 06:55:32]
WITH temp AS (
  SELECT 'ABC(D1), AADDEE(D12), TTTCS(D3), KA(C1111)' STR  FROM DUAL UNION ALL
  SELECT 'TEST1(BD), TEST(DDD) ' STR FROM DUAL)
SELECT str, 
       regexp_replace(str, '\([[:alnum:]]+\)', '') str1,
       replace(regexp_replace(str, '[[:alnum:]]+\(', ''), ')', '') str2
  FROM temp;

 


by 곰탱이 [2017.12.18 22:03:25]

감사합니다.

정말 간단하게 해결되었네요 ^^


by 마농 [2017.12.19 09:29:27]

REGEXP_REPLACE(str, '\([^)]+\)')

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