안녕하세요..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() 버튼을 클릭하여 작성 하시면 됩니다.