mun dev

[Oracle] INSTR 함수, 특정 문자 위치 확인 본문

DB/Oracle

[Oracle] INSTR 함수, 특정 문자 위치 확인

mndev 2024. 1. 23. 16:32

INSTR 함수는 특정 문자열을 찾은 위치를 정수형(숫자)로 반환한다.

문자열을 찾으면 1이상, 못 찾으면 0을 반환한다.

조건절(WHERE)에서 문자열을 찾을 때 LIKE 연산자를 사용하는 것이 좋고, INSTR 함수를 조건으로 사용해도 문제는 없지만 조건에 사용하는 컬럼인 경우 속도에 영향이 있을 수 있으므로 확인 후 사용해야 한다.

1. 문자열 포함 여부 확인

select *
from emp
where INSTR(ename, 'MI') > 0

2. 문자열 자르기

select empno
, ename
, INSTR(ename, 'M')
, SUBSTR(ename, INSTR(ename, 'M'),2)
from emp
where job = 'CLERK';

INSTR함수는 문자열을 자를 때 많이 사용된다.

위의 예제는 성명에서 특정 문자 위치 M의 위치를 찾은 후 해당 위치에서 2자리의 문자를 자르는 방법이다.