[sql] 문자열 내에서 특정 패턴의 반복 검색

SQL에서는 문자열 내에서 특정 패턴의 반복을 검색하는데 사용할 수 있는 다양한 함수와 연산자가 있습니다. 이를 활용하여 원하는 문자열 패턴을 찾고 추출할 수 있습니다.

CHARINDEX 함수를 사용한 패턴 검색

CHARINDEX 함수를 사용하여 특정 패턴이 문자열 내에서 반복되는 위치를 찾을 수 있습니다.

예를 들어, 아래의 SQL 쿼리는 “abc” 패턴이 문자열 내에서 반복되는 위치를 찾습니다.

DECLARE @str NVARCHAR(100) = 'abcabcabc';
SELECT CHARINDEX('abc', @str, 1);

위의 쿼리는 결과로 1을 반환하여 “abc” 패턴이 문자열의 처음부터 세 번 반복되는 것을 나타냅니다.

PATINDEX 함수를 사용한 패턴 검색

PATINDEX 함수는 특정 패턴의 규칙을 사용하여 문자열 내에서 패턴이 반복되는 위치를 찾습니다.

예를 들어, 아래의 SQL 쿼리는 “ab+” 패턴이 문자열 내에서 반복되는 위치를 찾습니다. 여기서 “+”는 “b”가 하나 이상 있음을 나타냅니다.

DECLARE @str NVARCHAR(100) = 'abbc';
SELECT PATINDEX('ab+', @str);

위의 쿼리는 결과로 1을 반환하여 “ab+” 패턴이 문자열의 처음부터 두 번 반복되는 것을 나타냅니다.

위의 함수들을 통해 SQL에서 문자열 내에서 특정 패턴의 반복을 검색하는 방법을 간단히 살펴보았습니다.

이러한 함수들을 활용하여 원하는 패턴을 검색하고 해당하는 데이터를 추출할 수 있습니다.

참고 자료