티스토리 뷰
INSTR(문자 단위), INSTRB(바이트 단위)
: 오라클에서 특정 문자열의 위치를 알아야 할 때,
또는 SUBSTR를 사용할 때 특정 문자열에서의 인덱스 값을 구해야 할 때에 사용한다.
- 찾는 단어가 없다면 0을 반환
- 찾는 단어의 앞글자의 인덱스를 반환
- 기본적으로는 왼쪽 -> 오른쪽으로 스캔
- 시작 위치에 음수를 사용할 경우, 오른쪽 -> 왼쪽으로 스캔
- 시작 위치와 검색할 횟수는 생략 가능(생략을 할 경우 Default = 1)
INSTR() 함수
문자열에서 특정 문자열이 위치한 인덱스를 반환하는 함수이다.
・기본 문법
INSTR(문자열, 찾을 문자열)
INSTR(문자열, 찾을 문자열, 시작 위치)
INSTR(문자열, 찾을 문자열, 시작 위치, 발생 횟수)
・예시
/* EXAMPLE */
-- 앞에서 찾기(1 : 앞에서 찾기, 1은 생략가능)
SELECT INSTR('HELLO WORLD', 'L') FROM DUAL; -- 결과 : 3
SELECT INSTR('HELLO WORLD', 'L', 1) FROM DUAL; -- 결과 : 3
-- 뒤에서 찾기(-1 : 뒤에서 찾기 )
SELECT INSTR('HELLO WORLD', 'L', -1) FROM DUAL; -- 결과 : 10
-- 뒤에서 찾고 첫번째로 찾은 문자
SELECT INSTR('HELLO WORLD', 'L', -1, 1) FROM DUAL; -- 결과 : 10
-- 뒤에서 찾고 두번째로 찾은 문자
SELECT INSTR('HELLO WORLD', 'L', -1, 2) FROM DUAL; -- 결과 : 4
INSTRB() 함수
INSTR 함수와 문법은 동일하지만, 차이점으로는 byte의 출력 차이이다.
영어일 경우에는 결과가 동일하나, 한글과 같은 글자들은 오라클 세팅에 따라 결과가 다르게 나올 수 있다.
・기본 문법
INSTR(문자열, 찾을 문자열)
INSTR(문자열, 찾을 문자열, 시작 위치)
INSTR(문자열, 찾을 문자열, 시작 위치, 발생 횟수)
・예시
/* EXAMPLE */
-- 앞에서 찾기(1 : 앞에서 찾기, 1은 생략가능)
SELECT INSTRB('HELLO WORLD', 'L') FROM DUAL; -- 결과 : 3
SELECT INSTRB('HELLO WORLD', 'L', 1) FROM DUAL; -- 결과 : 3
-- 뒤에서 찾기(-1 : 뒤에서 찾기 )
SELECT INSTRB('HELLO WORLD', 'L', -1) FROM DUAL; -- 결과 : 10
-- 뒤에서 찾고 첫번째로 찾은 문자
SELECT INSTRB('HELLO WORLD', 'L', -1, 1) FROM DUAL; -- 결과 : 10
-- 뒤에서 찾고 두번째로 찾은 문자
SELECT INSTRB('HELLO WORLD', 'L', -1, 2) FROM DUAL; -- 결과 : 4
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- C#
- TrimEnd
- 동기통신
- NLog
- VB.Net
- Oracle
- grant
- EXCEPTION절
- 후나빙
- REVOKE
- in/out/ref 차이점
- in/out/ref 공통점
- DECLARE절
- in/out/ref 예제
- vba
- 시간차이
- DBA_SYS_PRIVS
- rollback
- in/out/ref
- BEGIN절
- USER_SYS_PRIVS
- 유틸리티에러
- pl/sql
- commit
- PL/SQL 실행문
- 유틸리티
- 참조전달
- PL/SQL 예외처리문
- 초기화파라미터파일
- 에러
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함