적용 대상:
Databricks SQL
Databricks Runtime 11.3 LTS 이상
str와 일치하는 regexp의 첫 번째 하위 문자열 위치를 반환합니다.
구문
regexp_instr( str, regexp )
인수
-
strSTRING: 일치시킬 식입니다. -
regexpSTRING: 패턴이 있는 식입니다.
반품
INTEGER입니다.
문자열은 regexp 정규식이어야 합니다. 지원되는 구문 에 대한 정규식을 참조하세요.
리터럴을 사용할 때, 이스케이프 문자 사전 처리를 피하기 위해 raw-literal (r 접두사)을 사용하세요.
두 인수 중 NULL하나가 있으면 결과는 .입니다 NULL. 패턴을 찾을 수 없으면 결과는 .입니다 0.
일반적인 오류 조건
예제
첫 번째 일치 항목의 위치 찾기
패턴 Ste(v|ph)en 은 문자열의 시작 부분과 일치 Steven 하므로 위치는 1입니다.
> SELECT regexp_instr('Steven Jones and Stephen Smith are the best players', 'Ste(v|ph)en');
1
첫 번째 숫자의 위치 찾기
위치는 1부터 시작하는 위치입니다.
> SELECT regexp_instr('Order 1234 shipped', r'\d');
7
문자의 위치 찾기
> SELECT regexp_instr('alice@example.com', r'@');
6
일치 항목이 0을 반환하지 않음
> SELECT regexp_instr('Mary had a little lamb', 'Ste(v|ph)en');
0
NULL input 반환 NULL
> SELECT regexp_instr(NULL, 'Ste(v|ph)en');
NULL
> SELECT regexp_instr('Mary had a little lamb', NULL);
NULL
잘못된 정규식 패턴
> SELECT regexp_instr('abc', '[invalid');
Error: INVALID_PARAMETER_VALUE.PATTERN