[SQL] 08. 패턴 매칭에 의한 검색

uuuu.jini·2023년 1월 23일
0

SQL 첫걸음

목록 보기
8/36
post-thumbnail

LIKE 술어를 사용하면 문자열의 일부분을 비교하는 부분검색을 할 수 있다.

열 LIKE 패턴

= 연산자로 검색하는 경우 셀의 데이터값이 완전히 동일한지를 비교한다. 특정 문자나 문자열이 포함되어 있는지를 검색하고 싶은 경우 사용하는 방법으로 패턴 매칭또는 부분검색이라 한다.

1. LIKE로 패턴 매칭하기


LIKE 술어를 사용하면 열의 값이 부분적으로 일치하는 경우에도 참이 된다.

열명 LIKE패턴

  • 왼쪽: 매칭 대상을 지정
  • 오른쪽: 패턴 문자열 (수치형 상수 지정 불가)

LIKE에서 사용할 수 있는 메타문자

  • %_

와일드카드

  • 메타문자, 패턴 매칭 시 임의의 문자 또는 문자열에 매치하는 부분을 지정하기 위해 쓰이는 특수 문자
  • %: 임의의 문자열 의미
  • _: 임의의 문자 하나 의미
  • 여러개의 메타 문자 사용 가능
  • *는 사용 불가

LIKE 술어를 사용하여 패턴 매칭으로 검색할 수 있다. 패턴을 정의할 때 사용할 수 있는 메타문자로는 %와 _가 있다.

예) SQL을 포함하는 행 검색
SELECT * FROM sample24 WHERE text LIKE '%SQL%';

%는 임의의 문자열과 매치하며, 빈 문자열에도 매치한다!

  • 전방 일치: SQL%
  • 중간 일치: %SQL%
  • 후방 일치: %SQL

2. LIKE로 %를 검색하기


메타문자와 동일한 문자를 검색하고자 하는 경우 이스케이프 방식을 사용

  • \%\_와 같이 \를 앞에 붙이는 경우 메타문자의 매칭도 가능
  • 예) SELECT * FROM sample24 WHERE text LIKE '%\%%';

%를 LIKE로 검색할 경우 \%로 한다.
_를 LIKE로 검색할 경우 \_로 한다.

3. 문자열 상수 '의 이스케이프

  • '를 두개 연속해서 기술하는 것으로 이스케이프 처리 가능

    It's -> 'It''s'

profile
멋쟁이 토마토

0개의 댓글