REGEXP_COUNT 에서 특수문자도 포함시키는 방법? 1 4 1,243

by 동동동 [SQL Query] [2020.04.08 09:44:29]


안녕하세요..REGEXP_COUNT 로 문자열에서 특정 문자열의 횟수를 구하려고 하는데요..

패턴에 사용되는 "[" 도 검색문자열로 포함시키는 방법이 있을까요?

 

WITH AA AS (
SELECT '가나다 [사과]다 사과 사다리' CD FROM DUAL
)
SELECT REGEXP_COUNT(CD,'[사과]') CNT
     , CD 
  FROM AA;

1이 나와야 하는데 엉뚱한 값이 나오네요..

도움 부탁 드립니다..

by 날씬이 [2020.04.08 10:06:59]
WITH AA AS (
SELECT '가나다 [사과]다 사과 사다리' CD FROM DUAL
)
SELECT REGEXP_COUNT(CD,'\[사과\]') CNT
     , CD 
  FROM AA;

by 동동동 [2020.04.08 13:05:44]

답변 감사드립니다..


by 마농 [2020.04.08 12:15:57]

검색어에 패턴 관련 문자열 [] 외에도 다른 패턴 문자가 포함될 수도 있다면?
일일이 예외처리하기 힘들 것입니다.
정규식을 이용하지 않는게 좋을 듯 합니다.
 

WITH aa AS
(
SELECT '가나다 [사과]다 사과 사다리' cd FROM dual
UNION ALL SELECT '가나다 [사과]다 [사과] 사다리' FROM dual
)
SELECT cd
     , (LENGTH(cd) - LENGTH(REPLACE(cd, v))) / LENGTH(v) cnt
  FROM aa
     , (SELECT '[사과]' v FROM dual)
;

 


by 동동동 [2020.04.08 13:06:01]

답변 감사드립니다.

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