티스토리 뷰

SUBSTR(문자 단위), SUBSTRB(바이트 단위)

: 오라클(Oracle)에서 SUBSTR과 SUBSTRB 함수는 문자열을 자를 때 사용하는 함수이다.

또한, 오라클에서는 LEFT, RIGHT 함수가 없기때문에 문자열 자르기를 SUBSTR/SUBSTRB를 이용해 잘라야한다.

 

■ SUBSTR()함수

: SUBSTR은 문자열인 CHAR의 시작위치부터 길이만큼 잘라낸 결과를 리턴한다.

 

・기본 문법

-- 기본 문법
SUBSTR(문자열, 시작 위치, 길이)

 

・왼쪽부터 문자열을 자르기

/* EXAMPLE */
-- 앞에서 두번째 문자부터 문자열 가져오기
SELECT SUBSTR('HELLO', 2) FROM DUAL;    -- 결과 : ELLO

-- 앞에서 두번째 문자부터 한글자 가져오기
SELECT SUBSTR('HELLO', 2, 1) FROM DUAL; -- 결과 : E

-- 앞에서 세번째 문자부터 세글자 가져오기
SELECT SUBSTR('HELLO', 3, 3) FROM DUAL; -- 결과 : LLO

 

・오른쪽부터 문자열을 자르기

-- 뒤에서 두번째 문자부터 문자열 가져오기
SELECT SUBSTR('HELLO', -2) FROM DUAL;    -- 결과 : LO

-- 뒤에서 두번째 문자부터 한글자 가져오기
SELECT SUBSTR('HELLO', -2, 1) FROM DUAL; -- 결과 : L

-- 뒤에서 세번째 문자부터 문자열 가져오기
SELECT SUBSTR('HELLO', -3, 3) FROM DUAL; -- 결과 : LLO

 

 

 SUBSTRB() 함수

: SUBSTR 함수와 문법은 동일하지만, 차이점으로는 byte의 출력 차이이다.

영어일 경우에는 결과가 동일하나, 한글과 같은 글자들은 오라클 세팅에 따라 결과가 다르게 나올 수 있다.

 

・기본 문법

-- 기본 문법
SUBSTRB(문자열, 시작 위치, 길이)

 

・왼쪽부터 문자열을 자르기

/* EXAMPLE */
-- 앞에서 두번째 문자부터 문자열 가져오기
SELECT SUBSTRB('HELLO', 2) FROM DUAL;    -- 결과 : ELLO

-- 앞에서 두번째 문자부터 한글자 가져오기
SELECT SUBSTRB('HELLO', 2, 1) FROM DUAL; -- 결과 : E

-- 앞에서 세번째 문자부터 세글자 가져오기
SELECT SUBSTRB('HELLO', 3, 3) FROM DUAL; -- 결과 : LLO

 

・오른쪽부터 문자열을 자르기

-- 뒤에서 두번째 문자부터 문자열 가져오기
SELECT SUBSTRB('HELLO', -2) FROM DUAL;    -- 결과 : LO

-- 뒤에서 두번째 문자부터 한글자 가져오기
SELECT SUBSTRB('HELLO', -2, 1) FROM DUAL; -- 결과 : L

-- 뒤에서 세번째 문자부터 문자열 가져오기
SELECT SUBSTRB('HELLO', -3, 3) FROM DUAL; -- 결과 : LLO

 

 REPLACE() : 특정 문자열을 다른 문자열로 변경(치환)하는 함수

[문법]

REPLACE(문자열 및 컬럼명, 변경 대상 문자열, 변경할 문자열)

 

 

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
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
글 보관함