카테고리:

문자열 및 이진 함수 (일치/비교)

CONTAINS

expr1expr2 가 포함되어 있는 경우 true를 반환합니다. 두 식 모두 텍스트 또는 이진 식이어야 합니다.

검색 최적화 서비스를 사용하여 이 함수를 호출하는 쿼리의 성능을 향상할 수 있습니다. 자세한 내용은 검색 최적화 서비스 섹션을 참조하십시오.

구문

CONTAINS( <expr1> , <expr2> )
Copy

인자

expr1

검색 위치인 문자열입니다.

expr2

검색 대상인 문자열입니다.

반환

BOOLEAN 또는 NULL을 반환합니다.

  • expr1 내부에서 expr2 가 발견되면 TRUE를 반환합니다.

  • expr1 내부에서 expr2 를 찾을 수 없으면 FALSE를 반환합니다.

  • 두 입력 식 중 하나가 NULL인 경우, NULL을 반환합니다.

사용법 노트

문자열이 두 개 이상의 지정된 패턴과 일치하는지 비교하는 경우 다음 함수를 사용할 수 있습니다.

데이터 정렬 세부 정보

The collation specifications of all input arguments must be compatible.

이 함수는 다음 데이터 정렬 사양을 지원하지 않습니다.

  • pi (구두점 구분 안 함).

  • cs-ai (대/소문자 구분, 악센트 구분 안 함).

다음 예에서는 CONTAINS 함수를 사용합니다.

열 값에 문자열 포함 여부 확인하기

문자열 값이 포함된 단일 열이 있는 테이블을 만듭니다.

CREATE OR REPLACE TABLE strings_test (s VARCHAR);

INSERT INTO strings_test values
  ('coffee'),
  ('ice tea'),
  ('latte'),
  ('tea'),
  (NULL);

SELECT * from strings_test;
Copy
+---------+
| S       |
|---------|
| coffee  |
| ice tea |
| latte   |
| tea     |
| NULL    |
+---------+

s 의 값에 문자열 te 가 포함되어 있는지 확인합니다.

SELECT * FROM strings_test WHERE CONTAINS(s, 'te');
Copy
+---------+
| S       |
|---------|
| ice tea |
| latte   |
| tea     |
+---------+

데이터 정렬과 함께 CONTAINS 사용하기

다음 예에서 CONTAINS은 다른 데이터 정렬 사양을 사용하여 동일한 인자 값에 대해 다른 결과를 반환합니다.

SELECT CONTAINS(COLLATE('ñ', 'en-ci-ai'), 'n'),
       CONTAINS(COLLATE('ñ', 'es-ci-ai'), 'n');
Copy
+-----------------------------------------+-----------------------------------------+
| CONTAINS(COLLATE('Ñ', 'EN-CI-AI'), 'N') | CONTAINS(COLLATE('Ñ', 'ES-CI-AI'), 'N') |
|-----------------------------------------+-----------------------------------------|
| True                                    | False                                   |
+-----------------------------------------+-----------------------------------------+