반응형
특정 문자의 위치 값 반환하기 : 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 취급함)
반응형
'DataBase' 카테고리의 다른 글
[Oracle]테이블에 별칭 사용하기 (0) | 2020.04.16 |
---|---|
[Oracle]다양한 함수4-공백 채우기 LPAD, RPAD 함수/ TRIM함수 (0) | 2020.04.12 |
[Oracle]다양한 함수2-문자열 연결하기 CONCAT, 문자열 추출하기 SUBSTR (0) | 2020.04.12 |
[Oracle] 데이터 결과값에 콜럼명 별칭정하기 (0) | 2020.04.12 |
[Oracle] 다양한 함수-대소문자변환/문자길이반환 (LENGTH,LENGTHB) (0) | 2020.04.09 |
댓글