본문 바로가기

[오라클 레퍼런스 함수] SUBSTR - 문자열 일부 추출

by ㅇㅍㅍ 2023. 8. 21.
[오라클 레퍼런스 함수] SUBSTR - 문자열 일부 추출
728x90

 

SUBSTR

 

구문

{ SUBSTR
| SUBSTRB
| SUBSTRC
| SUBSTR2
| SUBSTR4
}
(char, position [, substring_length ])

 

목적

SUBSTR 함수는 char에서 character position에서 substring_length 길이 만큼의 부분을 반환합니다. SUBSTR은 입력 문자 집합에 따라 문자로 정의 된 길이를 계산합니다. SUBSTRB는 문자 대신 바이트를 사용합니다. SUBSTRC는 유니코드 완전한 문자를 사용합니다. SUBSTR2는 UCS2 코드 포인트를 사용합니다. SUBSTR4는 UCS4 코드 포인트를 사용합니다.

 

  • position이 0 인 경우 1로 처리됩니다.
  • position이 양수 인 경우 Oracle Database는 첫 번째 문자를 찾기 위해 char의 처음부터 계산합니다.
  • position이 음수 인 경우 Oracle은 char의 끝부터 역으로 계산합니다.
  • substring_length가 생략 된 경우 Oracle은 char의 끝까지의 모든 문자를 반환합니다. substring_length가 1 미만인 경우 Oracle은 null을 반환합니다.

 

charCHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB 또는 NCLOB 데이터 유형 중 하나 일 수 있습니다. 예외는 SUBSTRC, SUBSTR2SUBSTR4로, 이 경우 charCLOB 또는 NCLOB를 허용하지 않습니다. positionsubstring_lengthNUMBER 데이터 유형이어야 하며 NUMBER로 암시 적으로 변환 할 수있는 데이터 유형 중 하나 여야하며 정수로 해결되어야합니다. 반환 값은 char과 동일한 데이터 유형이며 CHAR 인수의 경우 VARCHAR2 값을 반환하며 NCHAR 인수의 경우 NVARCHAR2 값을 반환합니다. SUBSTR에 전달되는 실수는 자동으로 정수로 변환됩니다.

 

참고:

 

예제

다음 예제는 "ABCDEFG"의 여러 지정된 하위 문자열을 반환합니다:

SELECT SUBSTR('ABCDEFG',3,4) "Substring"
     FROM DUAL;
 
Substring
---------
CDEF

SELECT SUBSTR('ABCDEFG',-5,4) "Substring"
     FROM DUAL;

Substring
---------
CDEF

 

이중 바이트(double-byte) 데이터베이스 문자 집합을 가정하십시오:

SELECT SUBSTRB('ABCDEFG',5,4.2) "Substring with bytes"
     FROM DUAL;

Substring with bytes
--------------------
CD

 


출처: 오라클 레퍼런스

원문 링크: Oracle SUBSTR 함수 문서

 

반응형

댓글