안녕하세요 순번데이터가 비어 있는 것 기준 문자열지정하는건데요 1 3 575

by 메로나 [2021.09.30 09:51:35]


기준은 1~25까지 순번입니다.

그런데 데이터가 1,2,3,4,5,6,7,8,9,11,12,13,15,16......25 이렇게 왔을경우 비어있는 순번에 대해서

#1-#9,#11-#13,#16.....

이런식으로 되어야 되는데요.

쿼리로 가능할까요?

by jkson [2021.09.30 10:47:48]

    select listagg('#'||min(no)||'-#'||max(no),',') within group (order by min(lv)) txt
      from
      (
       select to_number(regexp_substr(txt,'[^,]+',1,level)) no, level lv
         from (select '1,2,3,4,5,6,7,8,9,11,12,13,15,16,17,18,19,20,21,22,23,24,25' txt from dual)
      connect by level <= regexp_count(txt,',') + 1
      )
     group by lv-no

by 메로나 [2021.09.30 11:08:24]

헉~ 이게 떠오르나요? 와!!! 진짜 분석하다보니 놀랐습니다 감사합니다!!!!!!!


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