DataBase/Oracle

[ORACLE]문자열 자르는 SUBSTR 함수

DevStory 2021. 5. 17.

SUBSTR Function

SUBSTR( string, start_position [, length ] )

SUBSTR 함수는 지정된 위치에서 특정 길이만큼 문자열을 자릅니다.

 

사용 가능한 버전

Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i


매개변수

string

- 기준이 되는 문자열입니다.

 

start_position

- 문자열(string)이 잘리는 시작 위치입니다.

- 0일 경우 1로 처리합니다.(문자열의 시작 위치는 1부터 시작입니다.)

 

length

- 시작 위치(start_position)에서 자를 문자 길이입니다.

- 생략하면, 시작 위치(start_position)에서 마지막 위치까지 문자열을 반환합니다.

- 음수이면, NULL을 반환합니다.


특징

  1. 시작 위치가 양수이면 좌측에서 시작합니다
  2. 시작 위치가 음수이면 우측에서 역순으로 시작합니다.

Example Data

EX 1) 세 번째 인자 생략

SELECT SUBSTR('ORACLE', 2)
FROM DUAL;

두 번째 인자의 값이 2, 세 번째 인자의 값은 생략되었습니다.

두 번째 인자의 값이 양수이므로 시작 위치는 좌측에서 시작합니다.

문자열 'ORACLE'의 두 번째 위치인 'R'에서 마지막 문자열까지 반환됩니다.


EX 2) 세 번째 인자 입력

SELECT SUBSTR('ORACLE', 2, 4)
FROM DUAL;

두 번째 인자의 값이 2, 세 번째 인자의 값은 4입니다.

문자열 'ORACLE'의 두 번째 위치인 'R'에서 4개의 문자열이 반환됩니다.


EX 3) 두 번째 인자 음수, 세 번째 인자 생략

SELECT SUBSTR('ORACLE', -2)
FROM DUAL;

두 번째 인자의 값이 -2, 세 번째 인자의 값은 생략되었습니다.

문자열 'ORACLE'의 뒤에서 두 번째 위치인 'L'에서 마지막 문자열까지 반환됩니다.


EX 4) 두 번째 인자 음수, 세 번째 인자 입력

SELECT SUBSTR('ORACLE', -4, 2)
FROM DUAL;

두 번째 인자의 값이 -4, 세 번째 인자의 값은 2입니다.

문자열 'ORACLE'의 뒤에서 네 번째 위치인 'A'에서 2개의 문자열이 반환됩니다.

반응형

댓글