본문 바로가기
DataBase

[Oracle]다양한 함수3-문자의 위치 값 반환하기(INSTR함수)

by 바까 2020. 4. 12.
반응형

 

특정 문자의 위치 값 반환하기 : INSTR

 

INSTR 함수는 문자열 내에서 해당 문자가 어느 위치에 존재하는지를 알려준다.

INSTR(대상, 찾을 글자, 시작위치, 몇 번째 발견 위치)

시작위치랑 몇 번째 발견위치인지를 생략한다면 오라클은 기본 값을 1로 간주하므로

시작위치도 1이고 첫 번째 발견 위치로 결과값을 나타낸다.

SELECT INSTR('Oracle mania','a')
FROM dual;

결과

'Oracle mania'에서 'a'라는 글자를 찾는다는 뜻이며 시작위치와 발견위치를 생략했으므로 첫번째로 존재하는 3번위치에있는 'a'를 찾아낸다.

SELECT INSTR('Oracle mania','a',5,2)
FROM dual;

결과

5번부터 2번째 발견되어지는 'a'를 찾는다는 뜻이므로 12번위치에 있는 'a'를 찾아낸다.

 

활용 예시) 이름의 3번째 자리가 R인 사원 검색하기

SELECT *
FROM employee
WHERE INSTR(ename,'R',3,1)=3;

전체 사원 중 이름철자 중에 3번째 자리가 R인 사람의 정보만을 추출하려는 것이며 

3번째 자리가 첫번째 발견이어야 하므로 INSTR(ename,'R',3,1)를, 결과값이 숫자로 보여지므로 비교해야할 대상은 3번째 위치한다는 숫자 3이다.

결과


*

다른 함수와 마찬가지로 INSTRB함수도 존재하는데 INSTR 함수와 차이점은 다음과 같다.

INSTR : 특정 문자의 위치 값을 반환합니다.(한글 1BYTE)

INSTRB : 특정 문자의 위치 값을 반환합니다.(한글을 2BYTE 취급함)

반응형

댓글