REGEXP_SUBSTR 구분자를 '###' 로 사용하는 방법 0 2 1,224

by 이누야샤 [SQL Query] REGEXP_SUBSTR 구분자'###' [2016.09.03 22:51:46]


with a as
(
select '1###2###3#4###5' as a from dual
)

select regexp_substr(a,'[^#(3)]+',1,1) as a_1
      ,regexp_substr(a,'[^#(3)]+',1,2) as a_2
      ,regexp_substr(a,'[^#(3)]+',1,3) as a_3
      ,regexp_substr(a,'[^#(3)]+',1,4) as a_4
      ,regexp_substr(a,'[^#(3)]+',1,5) as a_5
      ,regexp_count(a,'[^#(3)]') as a_c
from   a ;

 

결과

a_1  a_2  a_3  a_4  a_5  a_c

1      2      4     5          4

 

원하는 결과

a_1  a_2  a_3  a_4  a_5  a_c

1      2   3#4     5          4

 

a_3 에 '3#4' 값이 나왔으면 합니다.

 

 

by jkson [2016.09.04 00:11:41]
WITH A AS (SELECT '1###2###3#4###5' AS A FROM DUAL)
SELECT REGEXP_SUBSTR(A, '[^$)]+', 1, 1)
     , REGEXP_SUBSTR(A, '[^$)]+', 1, 2)
     , REGEXP_SUBSTR(A, '[^$)]+', 1, 3)
     , REGEXP_SUBSTR(A, '[^$)]+', 1, 4)
  FROM (SELECT REPLACE(A, '###', '$') A FROM A)

 


by 이누야샤 [2016.09.04 01:24:28]

감사합니다.

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