연우, 장을 열다.


-- 쿼리를 직접 사용
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;

출처 : http://www.seobangnim.com/zbxe/DB/603393



위 커뮤니티에서 가져왔습니다. 


위처럼 쿼리 적용을 해보니, 찾는 문자열이 몇개가 해당 컬럼에 포함돼있는지 알수 있었습니다. 


제 케이스는 컬럼이 모두 "ㅁㅁㅁ|ㅍㅍㅍ|ㅇㅇㅇ" 이런 형식으로 데이타들이 들어가 있었어요. 전 '|' 이것이 몇개나 되는지 알고 싶었구요. 

그래서 아래와 같이 정보를 얻었습니다.