본문 바로가기
오라클 게시판/오라클 함수

【오라클(Oracle) SQL 함수】 SUBSTR 함수

by 기서무나구물 2021. 10. 21.

포스팅 목차

    o SUBSTR

     


    문법

     

    substr::=

     


    목적

    SUBSTR함수는 문자열 Char에서 position 문자 위치로부터 substring_length 문자 길이만큼 문자열을 추출하여 반환한다.

    SUBSTR함수는 입력 문자 세트에 의해 정의된 문자를 이용하여 길이를 측정한다. SUBSTRB함수는 문자 대신에 바이트를 사용한다. SUBSTRC함수는 UNICODE를 사용한다. SUBSTR2 함수는 UCS2 코드 포인트를 사용한다. SUBSTR4 함수는 UCS4 코드 포인트를 사용한다.

    • 만약 position이 0이라면, 1로써 처리한다.
    • 만약 position이 양이라면, 오라클 데이터 베이스는 문자열에서 최초 문자를 발견하기 위해서 문자열의 처음부터 검색한다.
    • 만약 position이 음수라면, 오라클 데이터 베이스는 문자열의 끝에서부터 역으로 검색한다.
    • 만약 substring_length가 생략되었으면, 오라클 데이터 베이스는 지정된 위치에서 문자열의 끝까지 모든 문자를 반환한다. 만약 substring_length가 1보다 작은 경우에는, 오라클은 null을 반환한다.

    string의 데이터 형은 CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, NCLOB이다. position과 substring_length는 NUMBER 또는 암묵적으로 NUMBER으로 변환 가능한 정수일 필요가 있다. 반환된 값은 string과 같은 데이터형이다. 인수로써 SUBSTR에 전달될 소수점은 자동적으로 정수로 변환된다.

     


    패키지 함수 비교 (Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table)

     


    관련 함수

    함수명 함수내용
    INSTR 문자 열중에서 지정한 문자를 지정하여서 처음 나타나는 위치를 숫자로 반환한다. (문자검색)
    REPLACE 문자열 char에서 "search-string"을 검색하여서 일치하는 모든 부분을 "replacement_string"으로 변경한다.
    REGEXP_REPLACE 문자열에서 지정한 패턴 조건(정규 표현식, 정규식)을 만족하는 부분을 검색하여서 다른 문자열로 치환합니다. 복잡한 치환/검색 조작을 가능하게 합니다.
    REGEXP_SUBSTR 문자열에서 지정한 패턴 조건(정규표현식, 정규식)을 만족하는 부분의 문자열을 반환한다.
    REGEXP_INSTR 문자열에서 지정한 패턴 조건(정규 표현식)을 만족하는 문자열의 최초의 위치(무슨 문자인지)를 반환한다. 또한, 검색을 시작하는 시작 위치를 지정하는 것도 가능합니다.
    SUBSTR 문자열 Char에서 position 문자 위치로부터 substring_length 문자 길이만큼 문자열을 추출하여 반환한다.

     


    예제

    다음 예제는 "ABCDEFG"에서 3번째 위치를 시작으로 4자리의 문자를 추출하여서 해당 문자열을  반환한다.

    Oracle Program
    SELECT SUBSTR('ABCDEFG',3,4) "Substring"
    FROM   DUAL;

     

    Results
    Substring
    ---------
    CDEF

     


    뒤에서 5번째 위치에서 4자리 (더블 바이트 데이터베이스 문자 세트라 가정)

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

     

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

     

      


    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

     

    [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크
    반응형

    댓글