[Oracle] 문자 개수 찾기

문자 개수 찾기

오라클에서 문자 개수를 찾는 방법에 대해 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

댓글