연속된 문자 카운트 방법 문의 0 3 147

by zzhozang [SQL Query] [2020.10.15 16:32:04]


안녕하세요

연속 문자 갯수 COUNT 방법 문의드립니다.

DATA COUNT
R123456 0
RR123456 2
RRR123456 3
RRRR123456R 4
RRR1234RR1RR 3

위 CASE 처럼 R문자가 연속 될때 연속 된 문자 갯수를 COUNT 해야합니다.

시작위치에서 만 중복 문자 COUNT 하면 되고 중간에 중복되는 경우는 COUNT 할 필요가 없습니다.

도움부탁드립니다.ㅜ

by 신이만든지기 [2020.10.16 10:52:58]
WITH
    T AS
        (SELECT 'R123456' DATA FROM DUAL
         UNION ALL
         SELECT 'RR123456' DATA FROM DUAL
         UNION ALL
         SELECT 'RRR123456' DATA FROM DUAL
         UNION ALL
         SELECT 'RRRR123456R' DATA FROM DUAL
         UNION ALL
         SELECT 'RRR1234RR1RR' DATA FROM DUAL)
SELECT DATA
     , LENGTH(DATA) - LENGTH(REGEXP_REPLACE(DATA, '^R{2,}', '')) CNT
  FROM T

 


by zzhozang [2020.10.16 11:01:30]

감사합니다. FUNCTION 만들어야 하나 고민하고 있었는데ㅜㅜ


by 샤랄라 [2020.10.16 14:54:32]
nvl(length(regexp_substr(data, '^R{2,}')), 0)

 

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