web developer

[sql] INSTR 함수 본문

SQL/Oracle SQL

[sql] INSTR 함수

trueman 2022. 1. 7. 17:18
728x90
728x90

INSTR 함수

INSTR 함수는 입력된 문자열이 일치하면, 그 첫번쨰 인덱스 값을 반환해주고,
일치하는 문자가 없으면 0을 반환해주는 함수입니다.

 

INSTR 함수 사용방법 

INSTR('문자열', '찾고싶은 문자열', 시작위치, 순서) 컬럼명

* 시작위치와 발견 인덱스는 생략이 가능합니다. (default 1)

* 찾고자 하는 문자가 여러개인 경우에 4번쨰 인자인 순서를 통해 결정
→ 첫 번째 값(순서=1), 두 번째 값(순서=2)

 

INSTR 함수 예시 

INSTR('ABCDEFG','A') "A"         

→ 1 (1번쨰 인덱스 값) 


INSTR(
'ABCDEFG','A', 1) "A"
→ 3번째 인자는 시작위치인데, 값이 1인 경우에는 생략해도 값을 동일

 

INSTR('ABCDEFG','E') "E"

→ 5 (5번쨰 인덱스 값) 


INSTR('ABCDEFG', 'CDE') "CDE" 

→ 3 (3번쨰 인덱스 값)


INSTR('ABCDEFG',
'DBC') "DBC"

→ 0 (일치하는 문자열이 없음) 

 


1. INSTR('ABBCCCDDDD', 'C', 5, 2)
(1) 5번째부터 시작하는 문장을 추출 -'ABBCCCDDDD'
(2) 'C' 문자를 찾기시작. 찾았으면 2번째 C를 찾음.
(3) 2번째 C의 인덱스값을 반환: 6

2. INSTR('ABBCCCDDDD', 'C', 6, 2)
(1) 6번째부터 시작하는 문장을 추출 -'ABBCCCDDDD'
(2) 'C' 문자를 찾기시작. 찾았으면 2번째 C를 찾음.
(3) 2번째 C가 존재하지 않으므로 0을 반환.

3. INSTR('ABBCCCDDDD', 'D', 8, 2)
(1) 8번째부터 시작하는 문장을 추출 -'ABBCCCDDDD'
(2) 'D'문자를 찾기시작. 찾았으면 2번째 D를 찾음.
(3) 2번째 D의 인덱스값을 반환: 9

4. INSTR('ABBCCCDDDD', 'D', 3, 2)
(1) 3번째부터 시작하는 문장을 추출 -'ABBCCCDDDD'
(2) 'D'문자를 찾기 시작. 찾았으면 2번째 D를 찾음.
(3) 2번째 D의 인덱스값을 반환: 8

 

5. INSTR('ABBCCCDDDD', 'A', 4, 1)
(1) 4번째부터 시작하는 문장을 추출 -'ABB
CCCDDDD'
(2) 'A'문자를 찾기 시작. 찾았으면 1번째 A를 찾음.
(3) 1번째 A가 존재하지 않으므로 
0을 반환.

6. INSTR('ABBCCCDDDD', 'C', 1, 3)
(1) 1번째부터 시작하는 문장을 추출 -'ABBCCCDDDD'
(2) 'C'문자를 찾기 시작. 찾았으면 3번째 C를 찾음.
(3) 3번째 C의 인덱스값을 반환: 
6

728x90
728x90

'SQL > Oracle SQL' 카테고리의 다른 글

[sql] RANK, DENSE_RANK, ROW_NUMBER 함수  (0) 2022.01.10
[sql] DECODE 함수  (0) 2022.01.10
[sql] SUBSTR 함수  (0) 2022.01.07
[sql] Case When Then Else End  (0) 2021.12.28
[sql] 오라클 CONCAT, ||를 이용한 문자열 합치기  (0) 2021.12.20