뱁새유니버스

[SQL] SUBSTR, SUBSTRB 문자열 나누기

by 뱁새유니버스

1. 개요

테이블로부터 데이터를 추출할 때 컬럼 안에 문자열을 나눠야하는 경우가 자주 있습니다.

 

SUBSTR는 문자 단위를 자를 때, SUBSTRB는 바이트(Byte) 단위를 자를 때 사용합니다.


2. 내용

SUBSTR 함수(문자 단위)

 

SUBSTR 함수는 문자 단위로 문자를 잘라냅니다.

  • 1번 예제) SUBSTR 함수에서 시작 위치가 1인 경우
SELECT SUBSTR('ABCDEFGHIJKLMN',1,6) FROM DUAL;

결과 : ABCDEF

1번째부터 6번째 자리까지 문자열을 잘라 SELECT합니다.

 

  • 2번 예제) SUBSTR 함수에서 시작 위치가 0인 경우
SELECT SUBSTR('ABCDEFGHIJKLMN',0,6) FROM DUAL;

결과 : ABCDEF

0이라고 입력했을 때는 1로 처리합니다. 1부터 시작하는 것과 결과가 같습니다.

 

 

SUBSTRB 함수(Byte 단위)

 

SUBSTRB 함수는 바이트(Byte) 단위로 문자를 잘라냅니다.

영문자는 개당 1바이트이며, 한글은 개당 3바이트입니다.

  • 1번 예제) SUBSTRB 함수에서 영문자를 구분할 경우
SELECT SUBSTRB('ABCDEFGHIJKLMN',1,6) FROM DUAL;

결과 : ABCDEF

1번째부터 6번째 자리까지 문자열을 잘라 SELECT합니다.

 

  • 2번 예제) SUBSTRB 함수에서 한글을 구분할 경우
SELECT SUBSTRB('그대가내이름을불러주면',1,6) FROM DUAL;

결과 : 그대

1번째부터 6바이트 문자열을 잘라 SELECT합니다.


3. 마치며

SUBSTRB(BYTE 단위), SUBSTRC(유니코드 문자 단위) 등 이외에도 문자열 자르기 함수가 있지만

 

테이블에서 특정 컬럼의 문자열을 자를 때 SUBSTR 함수를 가장 많이 사용합니다.

 

간단하게 정리했으니 현업에서 잘 사용하시길 바랍니다^^!

반응형

블로그의 정보

가슴이 웅장해지는 모든것

뱁새유니버스

활동하기