반응형

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 관련 프로그래밍 초급 & 고급 정보를 공유하는 블로그

,