[SQL] DBMS별 LIKE 패턴 문법 비교 정리

Hyunjun Kim·2025년 8월 9일
0

SQL

목록 보기
73/90

DBMS별 LIKE 패턴 문법 비교 정리

SQL에서 LIKE 연산자는 문자열 패턴 매칭에 사용되는 조건 연산자이다.
사용되는 패턴 문자는 DBMS마다 조금씩 차이가 있으므로, 이를 비교하여
정리한다.


1. LIKE 기본 문법

SELECT * FROM 테이블명
WHERE 컬럼명 LIKE '패턴';
  • % : 길이가 0 이상인 임의의 모든 문자
  • _ : 정확히 한 글자

2. DBMS별 패턴 문자 비교 표

기호표준 SQL (MySQL, PostgreSQL, Oracle 등)MS Access의미
%길이가 0 이상인 모든 문자
_정확히 한 글자
#숫자 한 자리(0~9)
[ ]❌ (REGEXP로 가능)대괄호 안의 문자 중 하나
!대괄호 안의 문자 제외

3. _ 사용 예시

_는 정확히 한 글자를 의미한다.

-- 'A'로 시작하고, 중간에 임의의 한 글자, 'C'로 끝나는 문자열
SELECT * FROM 테이블명
WHERE 컬럼명 LIKE 'A_C';

매칭 예시:

매칭 여부
ABC
ADC
AC
ABBC

4. # 사용 예시 (MS Access 전용)

#는 정확히 한 자리 숫자를 의미한다.

-- 'A' 뒤에 숫자 한 자리, 'C'로 끝나는 문자열
SELECT * FROM 테이블명
WHERE 컬럼명 LIKE 'A#C';

매칭 예시:

매칭 여부
A1C
A5C
ABC
A12C

5. 표준 SQL에서 숫자 매칭 방법

표준 SQL에서는 #를 지원하지 않으므로 정규식(REGEXP)을 사용한다.

예: MySQL에서 숫자 한 자리 매칭

SELECT * FROM 테이블명
WHERE 컬럼명 REGEXP '^A[0-9]C$';

6. 결론

  • _는 표준 SQL과 MS Access 모두에서 사용 가능하다.
  • #는 표준 SQL에서는 지원하지 않고, MS Access에서만 숫자 한 자리를
    의미한다.
  • 복잡한 패턴 매칭은 REGEXP를 사용하는 것이 DBMS 간 호환성이 좋다.
profile
Data Analytics Engineer 가 되

0개의 댓글