[Oracle] 오라클 문자열 위치 찾기 (INSTR, REGEXP_INSTR)
- 데이터베이스 / 오라클
- 2023. 8. 23.
오라클 쿼리문에서 문자열에서 특정 문자열의 위치를 찾을 때는 INSTR 함수와 오라클 10g부터 사용할 수 있는 REGEXP_INSTR 정규식 함수를 사용할 수 있다. INSTR 함수를 사용하여 문자열의 위치를 찾을때 동일한 문자열이 여러 개 존재해도 첫 번째 찾은 문자열의 위치를 반환하고 검색을 중지한다.

목차 |
문자열 앞에서 부터 찾기 (INSTR 함수)
SELECT INSTR('Oracle Database 21c Release', 'as')
FROM dual
![]() |
INSTR("대상 문자열", "찾을 문자열")
INSTR 함수를 사용하여 문자열에서 특정 문자열의 위치를 찾을 수 있다.
문자열의 위치를 찾을 때 사용하는 아주 기본적인 방법이다.

처음 찾은 문자열의 시작 위치를 반환하고 검색을 중지한다.
문자열 찾은 횟수에 따른 위치 (INSTR 함수)
SELECT INSTR('Oracle Database 21c Release', 'as', 1, 2)
FROM dual
![]() |
INSTR("대상 문자열", "찾을 문자열", "시작 위치", "찾은 횟수")
찾을 문자열이 여러 개 포함되어 있을 경우 찾은 횟수에 해당하는 위치를 반환할 수 있다.

두 번째 찾은 문자열의 위치를 반환한다.
문자열 뒤에서 부터 찾기 (INSTR 함수)
SELECT INSTR('Oracle Database 21c Release', 'as', -1)
FROM dual
![]() |
INSTR("대상 문자열", "찾을 문자열", "뒤에서부터 검색(-1)")
세 번째 인자에 -1을 입력하여 문자열을 뒤에서부터 검색할 수 있다.

뒤에서부터 찾은 첫 번째 문자열의 위치를 반환한다.
정규식 함수로 문자열 위치 찾기 (REGEXP_INSTR 함수)
SELECT REGEXP_INSTR('Oracle Database 21c Release', 'as') AS result1
, REGEXP_INSTR('Oracle Database 21c Release', 'ac|ab|as') AS result2
, REGEXP_INSTR('Oracle Database 21c Release', '[0-9]') AS result3
FROM dual
![]() |
REGEXP_INSTR("대상 문자열", "패턴")
오라클 10g 이상부터 REGEXP_INSTR 정규식 함수를 사용할 수 있으며, INSTR 함수의 기능 외에도 정규식을 사용하여 다양한 패턴으로 문자열의 위치를 찾을 수 있다.
[Oracle] 오라클 INSTR 함수 사용법 완벽 정리
오라클에서는 문자열에서 원하는 문자를 찾을 때 INSTR 함수를 사용한다. INSTR 함수는 대소문자를 구별하여 문자를 검색하며, 여러 개의 문자를 찾을 때는 OR 연산자를 사용하면 된다. 해당 문자를
gent.tistory.com
[Oracle] 정규식 사용법 쉽게 설명 (REGEXP)
오라클 10g부터 정규식을 사용할 수 있도록 함수가 추가되었다. 정규식을 사용하면 문자열을 패턴으로 찾거나 자를 수 있기 때문에 기존의 복잡하게 구현된 쿼리문을 정규식 함수를 사용하여 간
gent.tistory.com
[Oracle] 오라클 REGEXP_INSTR 함수 사용법
오라클 SQL에서 정규식을 사용하여 문자열의 위치를 찾으려면 REGEXP_INSTR 함수를 사용하면 된다. 기본 함수 INSTR 함수를 사용하면 단순 문자열의 위치만 찾을 수 있지만, REGEXP_INSTR 함수를 사용하면
gent.tistory.com