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

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

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

포스팅 목차

    o TO_DATE

     


    문 법

    to_date::=

     


    목 적 

    TO_DATE 함수는 CHAR, VARCHAR2, NCHAR, NVARCHAR2 데이터 형태의 문자열 char 인수를 날짜형 데이터 타입 값으로 변환하는 형 변환 작업을 수행한다. 문자형 날짜 데이터를 날짜형(DATE) 데이터로 변환하는 함수이다.

    선택적으로 지정하는 옵션 DEFAULT return_value ON CONVERSION ERROR 절을 사용하여 char 인수를 DATE 타입으로 변환하는 동안 오류가 발생할 경우 이 함수가 반환하는 값을 지정할 수 있다. 이 절은 char 인수를 평가하는 동안 오류가 발생할 경우에는 영향을 미치지 않는다. return_value 인수는 표현식 또는 바인드 변수를 지정할 수 있으며, CHAR, VARCHAR2, NCHAR 또는 NVARCHAR2 데이터 타입의 문자열 또는 NULL로 평가되어야 한다. 이 함수는 char 인수를 DATE 타입으로 변환할 때와 동일한 방법으로 return_value 인수를 DATE 타입으로 변환한다. return_value 인수를 DATE 타입으로 변환할 수 없는 경우 오류를 반환한다.

    fmt 인수는 char 인수의 문자열 서식(형식)을 지정하는 datetime 모델 서식 이다. 만약 fmt 인수를 지정하지 않으면, char 인수는 기본 DATE 날짜 서식을 따른다. 기본 DATE 형식은 NLS_TERRITORY 초기화 매개변수에 의해 암묵적으로 결정되거나, NLS_DATE_FORMAT 매개변수에 의해 명시적(정확하게)으로 설정할 수 있다. 만약 fmt 인수가 J(Julian)라면, char 인수는 정수여야 한다.

    주 의 : 이 함수는 데이터를 다른 datetime 데이터 타입으로 변환하지 않는다. 다른 datetime 변환에 대한 자세한 내용은 TO_TIMESTAMPTO_TIMESTAMP_TZTO_DSINTERVAL 및 TO_YMINTERVAL 함수를 참조하라.

    'nlsparam' 인수는 날짜로 변환할 텍스트 문자열의 언어를 지정한다. 이 인수는 다음과 같은 형식으로 지정한다.

    'NLS_DATE_LANGUAGE = language'

    char 인수에 DATE 값을 가지는 TO_DATE 함수를 사용하지 마시오. 반환된 DATE 값의 처음 두 자리는 fmt 인수 또는 기본 DATE(날짜) 형식에 따라 원래의 char 인수와 다를 수 있다.

    이 함수 CLOB 데이터를 직접적으로 지원하지 않는다. 그러나, CLOB 는 암묵적 데이터 변환을 통해 인수로 전달될 수 있다.

     


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

    TO_DATE Oracle Function 프로그래밍 비교  - Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table

     


    관련함수

    함수명 함수내용
    CAST 데이터 형식이나 collection 형식을 다른 데이터 형식이나 collection 형식으로 변환한다.
    TO_CHAR (number) 수치형의 값 n을 옵션의 number 포맷 fmt에서 지정한 VARCHAR2 데이터 타입의 문자열 값으로 변환한다. 수치형 데이터를 문자열로 변환하는 함수이다.
    TO_CHAR (datetime) datetime 또는 날짜의 구간 값, TIMESTAMP, TIME 구역을 가지는 TIMESTAMP, 또는 TIMESTAMP WITH LOCAL TIME ZONE 데이터 형을 date 포맷 fmt에서 지정한 포맷의 VARCHAR2 데이터 타입의 문자열 값으로 변환(문자형 날짜 함수)한다. 날짜형 데이터를 문자열로 변환하는 함수이다.
    TO_CHAR (character) NCHAR, NVARCHAR2, CLOB, NCLOB 데이터를 데이터 베이스 문자 세트로 변환한다. (문자변환함수)
    TO_DATE 문자 형태의 문자열 char을 날짜형 데이터 타입 값으로 변환하는 형 변환 작업을 수행한다. 문자형 날짜 데이터를 날짜형 데이터로 변환하는 함수이다.
    TO_NUMBER 인수 expr을 NUMBER 데이터형의 값으로 변환한다.
    TO_TIMESTAMP 문자 형태의 문자열을 TIMESTAMP 데이터 형식의 값으로 변환한다.
    TO_TIMESTAMP_TZ 문자 형태의 문자열을 TIMESTAMP WITH TIME ZONE(TSTZ) 데이터형으로 변환한다.
    SYSTIMESTAMP 데이터 베이스가 설치된 시스템의 소수점 오른쪽에 해당하는 소수 초(Fractional Second)와 시간대를 포함한 시스템의 날짜를 반환한다.
    VALIDATE_CONVERSION expr 인수가 지정된 데이터 형식으로 변환될 수 있는지 여부를 반환한다.

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

     


    예 제

    다음 예제는 문자열을 지정한 인수를 따르는 날짜(date) 데이터로 변환한다.

    Oracle Program
    SELECT TO_DATE('January 15, 1989, 11:00 A.M.',
                   'Month dd, YYYY, HH:MI A.M.',
                   'NLS_DATE_LANGUAGE = American')
    FROM DUAL;

     

    Results
    TO_DATE('
    ---------
    15-JAN-89

     


    반환되는 값은 NLS_TERRITORY 매개변수가 'AMERICA' 로 설정된 경우 기본 날짜 형식을 반영한다. 다른 NLS_TERRITORY 값이 설정되어 있는 경우에는 기본 날짜 서식이 달라진다.

    Oracle Program
    ALTER SESSION SET NLS_TERRITORY = 'KOREAN';
    
    SELECT TO_DATE('January 15, 1989, 11:00 A.M.',
                   'Month dd, YYYY, HH:MI A.M.',
                   'NLS_DATE_LANGUAGE = American')
    FROM DUAL;

     

    Results
    TO_DATE(
    --------
    89/01/15

     


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

     

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

    2023.12 수정

    반응형

    댓글