본문 바로가기
Be Smart/SQL

[SQL] 오라클 INSTR 문자 위치 찾기 및 예제

by 반월하 2021. 10. 19.
728x90

- 오라클 INSTR 문자열 문자 위치 찾기

INSTR 함수는 문자열에서 특정 문자열을 찾은 위치를 반환 하는 함수입니다.
위치는 찾은 문자열의 첫번째 위치를 반환합니다.

- INSTR 함수를 활용하는 방법

1. 문자열에서 특정 문자열의 위치를 찾을 경우
2. 특정 문자열에서 원하는 문자열까지 자르기가 필요한 경우 (SUBSTR 활용)

- INSTR 문법

INSTR('문자열', '찾을문자열')
INSTR('문자열', '찾을문자열','시작위치')
INSTR('문자열','찾을문자열','시작위치','발생횟수')

INSTR 예제

select    
    INSTR('WELCOME TO MY BLOG. TOO HOT', 'HI') as ex1 
    -- 찾는 단어가 없으면 반환값 0
    
    ,INSTR('WELCOME TO MY BLOG. TOO HOT', 'MY') as ex2 
    -- MY 단어의 위치를 반환값 12
    
    ,INSTR('WELCOME TO MY BLOG. TOO HOT', 'TO', 3) as ex3
    -- 인덱스 3부터 찾기 시작, 반환값 9
    
    ,INSTR('WELCOME TO MY BLOG. TOO HOT', 'TO', 3, 2) as ex4 
    -- 인덱스 3부터 찾기 시작 2번째로 찾은값 반환값 21
    
    ,INSTR('WELCOME TO MY BLOG. TOO HOT', 'TO', -2, 2) as ex5 
    -- 오른쪽 2번쨰부터 찾기 시작, 반환값 9 
FROM DUAL;

INSTR('WELCOME TO MY BLOG. TOO HOT', 'HI')

WELCOME TO MY BLOG. TOO HOT 문자열에서 HI를 찾습니다.
HI 문자가 문자열에 포함되지 않아 0을 리턴 합니다.

INSTR('WELCOME TO MY BLOG.TOO HOT', 'MY')

WELCOME TO MY BLOG.TOO HOT 문자열에서 MY 를 찾습니다.
MY 문자가 문자열에 12번째 위치하여 12를 리턴 합니다.

INSTR('WELCOME TO MY BLOG. TOO HOT', 'TO', 3)

WELCOME TO MY BLOG. TOO HOT 문자열에서 TO를 찾습니다.
3번째 인덱스부터 찾기 시작하여 TO 문자가 문자열에 12번째 위치하여 12를 리턴 합니다.

INSTR('WELCOME TO MY BLOG. TOO HOT', 'TO', 3, 2)

WELCOME TO MY BLOG. TOO HOT 문자열에서 TO 를 찾습니다.
3번째 인덱스부터 찾기 시작합니다. TO 문자가 첫번째 찾은 위치가 10 입니다.
하지만 2번째 문자열 위치를 찾기로 하여 지나갑니다.
두번째 문자열을 찾은 위치가 21번째 위치하여 21를 리턴 합니다.

INSTR('WELCOME TO MY BLOG. TOO HOT', 'TO', -2, 2)

WELCOME TO MY BLOG. TOO HOT 문자열에서 TO 를 찾습니다.
위치에 마이너스(-)가 입력이 되어 오른쪽부터 찾습니다.
오른쪽 2번째 인덱스부터 2번째에 위치한 TO를 찾습니다.
두번째 문자열을 찾은 위치가 21번째 위치하여 21를 리턴 합니다.

 

728x90

댓글