TO_DATE
구문
TO_DATE(char [ DEFAULT return_value ON CONVERSION ERROR ]
[, fmt [, 'nlsparam' ] ])
목적
TO_DATE는 char를 DATE 데이터 유형의 값으로 변환합니다.
char로는 CHAR, VARCHAR2, NCHAR, 또는 NVARCHAR2 데이터 유형의 문자열로 평가되는 모든 식을 지정할 수 있습니다.
노트: 이 함수는 데이터를 다른 datetime 데이터 유형 중 하나로 변환하지 않습니다. 다른 datetime 변환에 대한 정보는 TO_TIMESTAMP, TO_TIMESTAMP_TZ, TO_DSINTERVAL 및 TO_YMINTERVAL을 참조하십시오.
선택적인 DEFAULT return_value ON CONVERSION ERROR 절을 사용하여 char를 DATE로 변환하는 동안 오류가 발생할 경우 이 함수가 반환하는 값을 지정할 수 있습니다. 이 절은 char를 평가하는 동안 오류가 발생하는 경우에는 영향을 미치지 않습니다. return_value는 CHAR, VARCHAR2, NCHAR, 또는 NVARCHAR2 데이터 유형의 문자열로 평가되는 식 또는 바인드 변수 일 수 있으며, 함수는 return_value를 DATE로 변환하는 데 char를 DATE로 변환하는 데 사용하는 동일한 방법을 사용합니다. return_value가 DATE로 변환될 수 없는 경우 함수는 오류를 반환합니다.
fmt는 char의 형식을 지정하는 datetime 모델 형식입니다. fmt를 생략하면 char는 기본 날짜 형식이어야 합니다. 기본 날짜 형식은 NLS_TERRITORY 초기화 매개변수에 의해 암시적으로 결정되거나 NLS_DATE_FORMAT 매개변수로 명시적으로 설정할 수 있습니다. fmt가 J(율리우스)인 경우 char는 정수여야 합니다.
주의: TO_DATE와 함께 항상 형식 마스크(fmt)를 지정하는 것이 좋은 실천입니다. 다음 섹션의 예제에서 보여진 것처럼 형식 마스크를 지정하지 않고 사용할 때는 함수가 char이 NLS_TERRITORY 또는 NLS_DATE_FORMAT 매개변수로 결정된 형식과 동일한 경우에만 유효합니다. 또한, 명시적 형식 마스크를 지정하여 의존성을 피하기 위해 함수가 데이터베이스 간에 안정적이지 않을 수 있습니다.
'nlsparam' 인수는 날짜로 변환 중인 텍스트 문자열의 언어를 지정합니다. 이 인수는 다음과 같은 형식을 가질 수 있습니다:
'NLS_DATE_LANGUAGE = language'
char 인수에 대한 DATE 값과 함께 TO_DATE 함수를 사용하지 마십시오. 반환된 DATE 값의 처음 두 자리는 fmt 또는 기본 날짜 형식에 따라 원래 char과 다를 수 있습니다.
이 함수는 CLOB 데이터를 직접 지원하지 않습니다. 그러나 CLOB는 암시적 데이터 변환을 통해 인수로 전달할 수 있습니다.
참고:
더 많은 정보를 위해 "Datetime Format Models" 및 "Data Type Comparison Rules"을 참조하십시오.
예제
다음 예제는 문자열을 날짜로 변환합니다:
SELECT TO_DATE(
'January 15, 1989, 11:00 A.M.',
'Month dd, YYYY, HH:MI A.M.',
'NLS_DATE_LANGUAGE = American')
FROM DUAL;
TO_DATE('
---------
15-JAN-89
반환된 값은 NLS_TERRITORY 매개변수가 'AMERICA'로 설정된 경우 기본 날짜 형식을 반영합니다. 다른 NLS_TERRITORY 값은 다른 기본 날짜 형식을 가져옵니다:
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;
TO_DATE(
--------
89/01/15
다음 예제는 월의 철자를 잘못 입력하여 지정된 표현식을 DATE 값으로 변환할 수 없으므로 기본값을 반환합니다:
SELECT TO_DATE('Febuary 15, 2016, 11:00 A.M.'
DEFAULT 'January 01, 2016 12:00 A.M.' ON CONVERSION ERROR,
'Month dd, YYYY, HH:MI A.M.') "Value"
FROM DUAL;
Value
---------
01-JAN-16
출처: 오라클 레퍼런스
원문 링크: Oracle TO_DATE 함수 문서
'코딩 > 오라클 함수' 카테고리의 다른 글
[오라클 레퍼런스 함수] TO_LOB - LONG 및 LONG RAW 값을 LOB으로 변환 (0) | 2023.08.31 |
---|---|
[오라클 레퍼런스 함수] TO_DSINTERVAL - INTERVAL DAY TO SECOND 형식으로 변환 (0) | 2023.08.31 |
[오라클 레퍼런스 함수] TO_CLOB (character) - LOB 열의 NCLOB 값 또는 문자열을 CLOB 값으로 변환 (0) | 2023.08.29 |
[오라클 레퍼런스 함수] TO_CLOB (bfile|blob) - BFILE 또는 BLOB 데이터를 CLOB 데이터로 변환 (0) | 2023.08.29 |
[오라클 레퍼런스 함수] TO_CHAR (number) - 숫자를 문자열로 변환 (0) | 2023.08.29 |
댓글