SQL Server/실기 정리

SQL Server 9강 - 문자 집합 패턴 검색 (LIKE와 [], [^])

코딩하는냥이 2025. 5. 30. 11:32
반응형

이번 글에서는 LIKE 절에서 사용하는 대괄호 문자 집합 표현을 학습했습니다.
대괄호를 활용하면 특정 문자 집합이나 범위에 해당하는 값을 필터링할 수 있으며, ^ 기호를 사용해 부정 조건도 설정할 수 있습니다.


📌 예제 코드

-- 두 번째 문자가 A, B, C 중 하나인 경우
SELECT * FROM nasdaq_company 
WHERE symbol LIKE 'A[A, B, C]';

-- 두 번째 문자가 A부터 C 사이인 경우 (A, B, C)
SELECT * FROM nasdaq_company 
WHERE symbol LIKE 'A[A-C]';

-- 두 번째 문자가 A-C 또는 G 또는 M-R인 경우
SELECT * FROM nasdaq_company 
WHERE symbol LIKE 'A[A-C, G, M-R]';

-- 두 번째 문자가 A, B, C가 아닌 경우
SELECT * FROM nasdaq_company 
WHERE symbol LIKE 'A[^A, ^B, ^C]';

-- 두 번째 문자가 A~C가 아닌 경우
SELECT * FROM nasdaq_company 
WHERE symbol LIKE 'A[^A-C]';

-- 복잡한 패턴: C 또는 P로 시작, T가 아닌 다음 문자, W로 끝나는 심볼
SELECT * FROM nasdaq_company 
WHERE symbol LIKE 'A[[C,P][^T]%W';

-- 두 번째 문자가 A~C, 네 번째 문자가 O, 그 뒤는 아무 문자
SELECT * FROM nasdaq_company 
WHERE symbol LIKE 'A[A-C]_O%';

💻 실행 결과 예시

각 쿼리는 symbol 컬럼에서 위치별 문자 조건에 따라 데이터를 필터링합니다.
예를 들어:

  • 'A[A-C]': A로 시작하고, 두 번째 글자가 A, B, 또는 C인 심볼
  • 'A[^A-C]': A로 시작하고, 두 번째 글자가 A~C를 제외한 문자인 심볼
  • 'A[A-C]_O%': 첫 글자 A, 두 번째는 A~C, 세 번째는 아무 글자, 네 번째는 O로 시작하는 문자열

💬 코드 설명

  • [A, B, C]: A, B, C 중 하나와 일치
  • [A-C]: A부터 C 사이의 문자와 일치
  • [A-C, G, M-R]: A~C, G, M~R 중 하나와 일치
  • [^A-C]: A~C를 제외한 나머지 문자와 일치
  • _: 한 글자 와일드카드
  • %: 0개 이상의 문자열 와일드카드
  • [] 내부에서의 조합은 문자 위치 제어에 유용

💡 포인트 정리

  • LIKE 'A[A-C]': 두 번째 글자가 A, B, C인 경우
  • LIKE 'A[^A-C]': 두 번째 글자가 A~C가 아닌 경우
  • 문자 범위와 조합을 통해 복잡한 필터링 조건 구현 가능
  • 대괄호 패턴은 규칙 기반 코드 필터링에 유용

📌 정리하자면, 이번 강의에서는 LIKE 절에서 사용하는 문자 집합, 범위, 부정 표현을 학습했습니다.
문자열의 특정 위치에 대해 정교하게 조건을 걸 수 있기 때문에, 실제 데이터 중 규칙 기반의 심볼이나 코드 검색에 매우 유용한 기능입니다.