본문 바로가기

데이터베이스/Oracle

Oracle 문자열에서 문자검색 INSTR

문자열에서 해당 문자의 위치를 반환해주는 함수 이것도 유용하게 쓰일 거 같아 정리해놓는다.

 

INSTR() 함수

문 법:INSTR('문자열' 또는 칼럼, 찾는 글자, 시작 위치, 몇 번째인지(기본값은 1) )

 

사용 방법은 간단하다.

 

SQL> select INSTR('1234-1234-1234', '5') as "INSTR" from dual;
     INSTR
----------          //5라는 문자를 찾기  : 없기에 0 반환
         0

SQL> select INSTR('1234-1234-1234', '1') as "INSTR" from dual;

     INSTR
----------         //1이라는 문자를 찾기 : 첫 번째 위치에 있기에 1 반환
         1

SQL> select INSTR('1234-1234-1234', '1',8) as "INSTR" from dual;

     INSTR
----------         //1이라는 문자를 문자열 위치 8번째부터 찾기  : 8번째 다음으로는 11번째 위치에 있기에 11 반환
        11 

SQL> select INSTR('1234-1234-1234', '1',2,3) as "INSTR" from dual;

     INSTR
----------  //1이라는 문자를 2번째부터 시작해서 3번째의 값의 위치 찾기 : 2번째 부터시작 하면 찾는 값이 없기에 0                                                                                                                                                    반환
         0