ORACLE INSTR
ORACLE INSTR 함수는 간단한 함수이지만 자주 사용하는 함수가 아니어서
사용방법을 자주 찾아보는 함수이기도 해서 정리해두려고 합니다.
오라클 Database SQL Reference 사이트에서 INSTR 을 검색해보면 위와 같이 사용할 수 있는 방법을 제시합니다.
INSTR 은 INSTRB, INSTRC, INSTR2, INSTR4 함수와 동일한 방법으로 사용할 수 있다고 되어 있는데
사실 다른 것은 제쳐두고 INSTR 하나만 제대로 알아도 사용하는데 무리가 없습니다.
INSTR 주요 사용처
1. 문자타입의 데이터에서 특정 문자열의 위치 찾기
2. 특정 문자열부터 원하는 문자열까지 문자열 자르기 ( SUBSTR 활용 )
이 두가지를 주요 사용처로 씁니다.
INSTR 문법 사용
INSTR ( 문자열, 검색할 문자, 시작지점, n번째 검색단어 )
INSTR 사용 방법
SELECT INSTR('https://docs.oracle.com/', '/', 1, 1) AS TEST1
, INSTR('https://docs.oracle.com/', '/', 1, 2) AS TEST2
, INSTR('https://docs.oracle.com/', '/', 1, 3) AS TEST3
, INSTR('https://docs.oracle.com/', '/', 1, 4) AS TEST4
FROM DUAL;
위 예시를 확인해 보면 'https://docs.oracle.com/' 문자에서 "/" 문자를 찾는 예시입니다.
문자열에서 / 가 총 3번이 들어가 있는데
4번째 parameter 를 활용하여 / 를 몇번째에 발견했는지를 찾아내는 parameter 입니다.
처음 발견했을 때는 7번째
두번째 발견했을 때는 8번째
세번째 발견했을 때는 24번째
네번째는 문자가 없으니 0 을 return 한 것을 알 수 있습니다.
한단계 더 활용을 하면 아래와 같이 할 수 있겠죠
SELECT SUBSTR('https://docs.oracle.com/'
, INSTR('https://docs.oracle.com/', '/', 1, 2)+1
, LENGTH('https://docs.oracle.com/')-1 - INSTR('https://docs.oracle.com/', '/', 1, 2)
) AS TEST5
FROM DUAL;
도메인명을 알고 싶을 때 이렇게 / 의 자릿수를 찾아서 활용하듯
원하는 문자를 가공하여 사용하는데 많은 도움을 주는 함수가 INSTR 함수입니다.
작업을 하시다가 더 궁금한 점이 있으면 댓글로 같이 방법을 찾아봐요^^
'IT > Oracle' 카테고리의 다른 글
오라클 프로시저 내용 조회 ( sql stored procedure content search ) (0) | 2020.08.26 |
---|---|
plsql 오라클 프로시저 파라미터 테이블에 사용 (0) | 2020.08.25 |
ORACLE ROLLUP, CUBE 쉽게 활용 및 예제 (0) | 2020.05.14 |
ORA-03214: 지정된 파일 크기가 기본 최소치보다 작습니다 ( 테이블스페이스 생성 ) (0) | 2020.03.31 |
오라클 TO_DATE 1분만에 완벽마스터로 변신 (0) | 2020.03.24 |