티스토리 뷰

INSTR 및 INSTRB 함수에 대해서 알아보도록 하겠습니다.


해당 함수는 문자열에서 특정 문자를 찾아

특정 문자의 위치를 리턴해주는 함수입니다.


또한, 해당 함수를 응용해서 문자열을 ROW단위로

변환할 수도 있습니다.


두 가지 함수의 기능은 동일하나,

다른 점은 한글을 1Byte로 볼 것인가 2byte로 볼것인가 입니다.

INSTR은 한글을 1Byte 즉 길이를 1로 계산합니다.

INSTRB는 한글을 2Byte 즉 길이를 2로 계산합니다.

 

1. 파라메터 설명

   - INSTR(문자열,찾는 문자,찾기 시작 위치,찾은 위치의 순번)

   - INSTRB(문자열,찾는 문자,찾기 시작 위치,찾은 위치의 순번)

     > 문자열 : 찾는 문자열

     > 찾는 문자 : 문자열에서 찾을 문자

     > 찾기 시작 위치 : 문자열의 몇번째 위치에서 찾을지 설정

       (예 > 1 : 1번째 위치부터 찾기, -1 : 맨뒤에서 부터 찾기)

     > 찾은 위치의 순번 : 찾은 순서 중 몇번째 순번에 해당하는 위치를 리턴할지 설정

     

2. 실습

  - "홍길동#아무개#" 문자열에서 #의 문자를 찾음

  - "홍길동#아무개#" 문자열에서 8번째 위치부터 # 문자를 찾음

  - "홍길동#아무개#" 문자열에서 뒤에서 부터 # 문자를 찾음

  - "홍길동#아무개#" 문자열에서 뒤에서 부터 찾아 2번째 #문자를 찾음

    

3. CONNECT BY 를 활용한 ROW단위로 변환

  - #갯수만큼 Connect by Level을 활용하여 ROW를 만듭니다.

  - LEVEL에 맞는 문자를 INSTR을 활용해 잘릅니다.


INSTR , INSTRB 함수에 대해서 알아보았습니다.

해당 함수는 많이 유용하게 쓰이며 특히, 연동 전문을 파싱 하는데 사용하면 편리할 수 있습니다.



댓글