오라클에서 문자 개수를 찾는 방법에 대해 2가지 방법을 알려드리려고 합니다! 하나는 정규표현식(REGEXP_COUNT)을 사용하는 방법이고, 나머지는 렝스(LENGTH) 함수를 사용하는 방법으로 안내해드리겠습니다.
REGEXP_COUNT 문자 개수
REGEXP_COUNT 함수는 대상(source), 정규표현식(pattern), 시작위치(position, 기본 1) 를 매개변수로 합니다.
해당 예시는 '!@#$%^&*()(*&^%$#@!' 에서 '#' 의 개수를 구합니다.
WITH TA AS (SELECT '!@#$%^&*()(*&^%$#@!' SRC FROM DUAL)
SELECT REGEXP_COUNT (SRC, '#')
FROM TA;
REGEXP_COUNT(SRC,'#')
---------------------
2
LENGTH 문자 개수
LENGTH함수를 이용하여 문자 개수를 찾는 방법입니다~ 'LENGTH - LENGTH(REPLACE)'를 통하여 확인할 수 있답니다. 총 길이에서 '#' 을 REPLACE 한 길이를 빼보는 방법입니다.
WITH TA AS (SELECT '!@#$%^&*()(*&^%$#@!' SRC FROM DUAL)
SELECT LENGTH (SRC) - LENGTH (REPLACE (SRC, '#'))
FROM TA;
LENGTH(SRC)-LENGTH(REPLACE(SRC,'#'))
------------------------------------
2