본문 바로가기

study

mysql 특정 문자열 개수 구하기

-- 쿼리를 직접 사용
SELECT (LENGTH(v) - LENGTH(REPLACE(v, ';', ''))) / LENGTH(';')
  FROM (SELECT 'A;B;C;D;E;F;G' v) A;
 
 
-- 함수를 만들어 사용해도 편리함
CREATE FUNCTION COUNT_STR(X VARCHAR(255), DELIM VARCHAR(12))
   RETURNS INT
RETURN (LENGTH(X) - LENGTH(REPLACE(X, DELIM, ''))) / LENGTH(DELIM);
 
 
SELECT COUNT_STR(TEXT, ';') CNT
  FROM (SELECT 'A;B;C;D;E;F;G' TEXT) A;