카테고리:

문자열 함수(정규식)

REGEXP_LIKE

문자열이 지정된 패턴과 일치하는지 확인하기 위해 비교를 수행합니다. 두 입력 모두 텍스트 식이어야 합니다.

REGEXP_LIKE는 [ NOT ] LIKE 함수와 유사하지만, SQL LIKE 패턴 구문 대신 POSIX 확장 정규식을 사용합니다. 이 함수는 LIKE보다 더 복잡한 일치 조건을 지원합니다.

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

별칭:

[ NOT ] RLIKE (첫 번째 구문)

문자열 함수(정규식) 항목도 참조하십시오.

구문

REGEXP_LIKE( <subject> , <pattern> [ , <parameters> ] )
Copy

인자

필수:

subject

일치할 주제입니다.

pattern

일치할 패턴입니다.

선택 사항:

parameters

일치 항목을 검색하는 데 사용되는 매개 변수를 지정하는 하나 이상의 문자로 된 문자열입니다. 지원되는 값:

c , i , m , e , s

자세한 내용은 정규식에 매개 변수 지정하기 섹션을 참조하십시오.

기본값: c

반환

BOOLEAN 또는 NULL을 반환합니다. 일치하는 항목이 있으면 값은 TRUE입니다. 그렇지 않으면 FALSE를 반환합니다. 인자가 NULL인 경우 NULL을 반환합니다.

사용법 노트

  • 이 함수는 암시적으로 패턴을 양쪽 끝에 고정합니다(즉, '' 는 자동으로 '^$' 가 되고 'ABC' 는 자동으로 '^ABC$' 가 됨). ABC로 시작하는 문자열을 찾으려면 패턴은 'ABC.*' 가 됩니다.

  • 백슬래시 문자(\)는 이스케이프 문자입니다. 자세한 내용은 작은따옴표로 묶인 문자열 상수에서 정규식 지정하기 섹션을 참조하십시오.

  • 더 많은 사용법 노트는 정규식 함수에 대한 일반적인 사용법 노트 를 참조하십시오.

데이터 정렬 세부 정보

Arguments with collation specifications are currently not supported.

도시 이름이 있는 테이블을 만듭니다.

CREATE OR REPLACE TABLE cities(city varchar(20));
INSERT INTO cities VALUES
    ('Sacramento'),
    ('San Francisco'),
    ('San Jose'),
    (null);
Copy

와일드카드를 사용하여 대/소문자를 구분하는 쿼리를 실행합니다.

SELECT * FROM cities WHERE REGEXP_LIKE(city, 'san.*');
Copy
+------+
| CITY |
|------|
+------+

와일드카드를 사용하여 대/소문자를 구분하지 않는 쿼리를 실행합니다.

SELECT * FROM cities WHERE REGEXP_LIKE(city, 'san.*', 'i');
Copy
+---------------+
| CITY          |
|---------------|
| San Francisco |
| San Jose      |
+---------------+

정규식의 추가 예는 [ NOT ] REGEXP 섹션을 참조하십시오.

와일드카드 문자를 검색하려면 와일드카드 문자를 이스케이프해야 합니다. 와일드카드 문자에 대한 자세한 내용은 작은따옴표로 묶인 문자열 상수에서 정규식 지정하기 섹션을 참조하십시오.