LIKE 함수는 특정 텍스트 부분과 일치하는 인스턴스를 탐색한다. 고정 길이 또는 가변 길의 문자열 타입을 가지는 속성만을 LIKE 함수를 이용하여 비교할 수 있다. LIKE로 비교하기 위해서는 문자열들이 반드시 같은 문자 코드 세트를 가져야 하며, 비트열에 대해서 LIKE 비교를 할 수 없다.
like_operand
[ NOT ] LIKE like_operand [
ESCAPE like_operand ]
like_operand
:
character string
NULL
첫 번째 like_operand로 주어진 문자열의 첫 문자부터 시작하여, 두 번째 like_operand로 주어진 문자열 패턴을 탐색한다.
LIKE 함수는 다음의 문자들로 구성될 수 있다.
실제로 _ 기호나 % 기호를 찾고 싶은 경우에는 ESCAPE 옵션을 통해 하나의 문자로 구성된 like_operand를 지정해야 한다. 문자열 내에서 ESCAPE 문자는 항상 _ 기호나 % 기호 앞에 위치해야 한다. 또한, _ 기호나 % 기호는 이러한 확장 문자(escape character)로 쓰일 수 없다. 예를 들어, '10%'와 같은 값을 찾기 위해서는 역슬래쉬(\)와 같은 확장 문자를 쓸 수 있으며, 실제 문자열은 '10\%'와 같이 입력되어야 한다. 즉, '10%'를 탐색하기 위해서는 아래와 같이 입력한다.
SELECT name FROM nation WHERE name LIKE '10\%' ESCAPE '\';
LIKE 함수의 확장 문자에 대한 디폴트 값은 정의되어 있지 않다.
LIKE 함수의 어떠한 like_operand에 대해 NULL이 입력되면, 결과는 NULL이 반환된다.
다음은 nation 테이블에서 문자열 패턴 '_in%'에 매칭되는 국가명을 검색하는 예제이다. 이 경우에 문자열의 첫 문자는 어떠한 한 글자를 가지고 있고, 두 번째와 세 번째 문자가 각각 in이어야 하고, 문자열의 나머지 부분은 어떠한 문자의 조합이어도 된다.
SELECT name FROM nation WHERE name LIKE '_in%';
결과값:
Finland
Singapore