콘텐츠로 이동

REGEXP_LIKE 함수는 문자열이 정규식과 일치하는지 검사하는 데 사용합니다.

func.regexp_like(<expr>, <pat[, match_type]>)
func.regexp_like('a', '^[a-d]')
┌─────────────────────────────────┐
│ func.regexp_like('a', '^[a-d]') │
├─────────────────────────────────┤
│ 1 │
└─────────────────────────────────┘
REGEXP_LIKE(<expr>, <pat[, match_type]>)
인수 설명
<expr> 일치 여부를 검사할 문자열 expr
<pat> 정규식
[match_type] 선택 사항입니다. match_type 인수는 일치 방식을 지정하는 문자열입니다.

match_type에는 다음 문자를 하나 이상 포함할 수 있습니다.

  • c: 대소문자를 구분하여 일치시킵니다.
  • i: 대소문자를 구분하지 않고 일치시킵니다.
  • m: 여러 줄 모드입니다. 문자열 내의 줄 종결자를 인식합니다. 기본 동작은 문자열 식의 시작과 끝에서만 줄 종결자를 일치시키는 것입니다.
  • n: . 문자가 줄 종결자와도 일치합니다. 기본적으로 .의 일치는 줄 끝에서 멈춥니다.
  • u: Unix 전용 줄 끝 문자입니다. 현재는 지원되지 않습니다.

BIGINT 문자열 expr이 패턴 pat로 지정한 정규식과 일치하면 1을, 그렇지 않으면 0을 반환합니다. expr 또는 pat가 NULL이면 반환 값은 NULL입니다.

SELECT REGEXP_LIKE('a', '^[a-d]');
┌────────────────────────────┐
│ REGEXP_LIKE('a', '^[a-d]') │
├────────────────────────────┤
│ 1 │
└────────────────────────────┘
SELECT REGEXP_LIKE('abc', 'ABC');
┌───────────────────────────┐
│ REGEXP_LIKE('abc', 'ABC') │
├───────────────────────────┤
│ 1 │
└───────────────────────────┘
SELECT REGEXP_LIKE('abc', 'ABC', 'c');
┌────────────────────────────────┐
│ REGEXP_LIKE('abc', 'ABC', 'c') │
├────────────────────────────────┤
│ 0 │
└────────────────────────────────┘
SELECT REGEXP_LIKE('new*\n*line', 'new\\*.\\*line');
┌───────────────────────────────────────────┐
│ REGEXP_LIKE('new*\n*line', 'new\*.\*line')│
├───────────────────────────────────────────┤
│ 0 │
└───────────────────────────────────────────┘
SELECT REGEXP_LIKE('new*\n*line', 'new\\*.\\*line', 'n');
┌────────────────────────────────────────────────┐
│ REGEXP_LIKE('new*\n*line', 'new\*.\*line', 'n')│
├────────────────────────────────────────────────┤
│ 1 │
└────────────────────────────────────────────────┘