목차

Search

  1. 서문
  2. 변환 언어
  3. 상수
  4. 연산자
  5. 변수
  6. 날짜
  7. 함수
  8. 사용자 지정 함수 작성
  9. 사용자 지정 함수 API 참조

변환 언어 참조

변환 언어 참조

TO_DATE

TO_DATE

문자열을 날짜/시간 데이터 유형으로 변환합니다. TO_DATE 형식 문자열을 사용하여 소스 문자열의 형식을 지정해야 합니다.
출력 포트는 TO_DATE 식에 대한 날짜/시간이어야 합니다.
TO_DATE를 사용하여 2자리 연도를 변환하는 경우 RR 또는 YY 형식 문자열을 사용합니다. YYYY 형식 문자열을 사용하지 마십시오.

구문

TO_DATE(
string
[,
format
] )
다음 테이블에는 이 명령의 인수가 설명되어 있습니다.
인수
필수/
선택 사항
설명
문자열
필수
문자열 데이터 유형이어야 합니다. 날짜로 변환할 값을 전달합니다. 유효한 모든 변환 식을 입력할 수 있습니다.
형식
선택 사항
유효한 TO_DATE 형식 문자열을 입력합니다. 형식 문자열은
문자열
인수의 일부와 일치해야 합니다. 예를 들어 문자열 'Mar 15 1998 12:43:10AM'을 전달하는 경우 형식 문자열 'MON DD YYYY HH12:MI:SSAM'을 사용해야 합니다. 형식 문자열을 생략하는 경우 문자열 값은 세션에서 지정한 날짜 형식이어야 합니다.

반환 값

날짜.
TO_DATE는 항상 날짜와 시간을 반환합니다. 시간 값이 없는 문자열을 전달할 경우 반환되는 날짜에는 항상 시간 00:00:00.000000000이 포함됩니다. 이 함수의 결과를 데이터 유형이 날짜/시간인 모든 대상 열에 매핑할 수 있습니다. 대상 열의 전체 자릿수가 나노초보다 작은 경우
PowerCenter 통합 서비스
는 대상 열의 전체 자릿수와 일치하도록 날짜/시간 값을 자른 다음 날짜/시간 값을 대상에 씁니다.
Null 값을 이 함수에 전달하는 경우 NULL이 반환됩니다.
TO_DATE 문자열의 형식은 날짜 구분 기호를 포함하여 형식 문자열과 일치해야 합니다. 일치하지 않을 경우
PowerCenter 통합 서비스
가 정확하지 않은 값을 반환하거나 레코드를 건너뛸 수 있습니다.

다음 식은 DATE_PROMISED 포트의 문자열에 대한 날짜 값을 반환합니다. TO_DATE는 항상 날짜와 시간을 반환합니다. 시간 값이 없는 문자열을 전달할 경우 반환되는 날짜에는 항상 시간 00:00:00.000000000이 포함됩니다. 20세기에 세션을 실행하는 경우 세기는 19가 됩니다. 이 예에서
PowerCenter 통합 서비스
를 실행하는 노드의 현재 연도는 1998입니다. 대상 열의 날짜/시간 형식이 MON DD YY HH24:MI SS이므로
PowerCenter 통합 서비스
는 초로 자른 날짜/시간 값을 대상에 씁니다.
다음 식은 DATE_PROMISED 포트의 문자열에 대한 날짜 값을 반환합니다. TO_DATE는 항상 날짜와 시간을 반환합니다. 시간 값이 없는 문자열을 전달할 경우 반환되는 날짜에는 항상 시간 00:00:00.000000000이 포함됩니다. 20세기에 매핑을 실행하는 경우 세기는 19가 됩니다. 이 예에서
PowerCenter 통합 서비스
를 실행하는 노드의 현재 연도는 1998입니다. 대상 열의 날짜/시간 형식이 MON DD YY HH24:MI SS이므로
PowerCenter 통합 서비스
는 초로 자른 날짜/시간 값을 대상에 씁니다.
TO_DATE( DATE_PROMISED, 'MM/DD/YY' )
DATE_PROMISED
RETURN VALUE
'01/22/98'
Jan 22 1998 00:00:00
'05/03/98'
May 3 1998 00:00:00
'11/10/98'
Nov 10 1998 00:00:00
'10/19/98'
Oct 19 1998 00:00:00
NULL
NULL
다음 식은 DATE_PROMISED 포트의 문자열에 대한 날짜 및 시간 값을 반환합니다. 시간 값이 없는 문자열을 전달하면
PowerCenter 통합 서비스
가 오류를 반환합니다. 20세기에 세션을 실행하는 경우 세기는 19가 됩니다.
PowerCenter 통합 서비스
를 실행하는 노드의 현재 연도는 1998입니다.
다음 식은 DATE_PROMISED 포트의 문자열에 대한 날짜 및 시간 값을 반환합니다. 시간 값이 없는 문자열을 전달하면
PowerCenter 통합 서비스
가 오류를 반환합니다. 20세기에 매핑을 실행하는 경우 세기는 19가 됩니다.
PowerCenter 통합 서비스
를 실행하는 노드의 현재 연도는 1998입니다.
TO_DATE( DATE_PROMISED, 'MON DD YYYY HH12:MI:SSAM' )
DATE_PROMISED
RETURN VALUE
'Jan 22 1998 02:14:56PM'
Jan 22 1998 02:14:56PM
'Mar 15 1998 11:11:11AM'
Mar 15 1998 11:11:11AM
'Jun 18 1998 10:10:10PM'
Jun 18 1998 10:10:10PM
'October 19 1998'
Error. Integration Service skips this row.
NULL
NULL
다음 식은 SHIP_DATE_MJD_STRING 포트의 문자열을 날짜 값으로 변환합니다.
TO_DATE (SHIP_DATE_MJD_STR, 'J')
SHIP_DATE_MJD_STR
RETURN_VALUE
'2451544'
Dec 31 1999 00:00:00.000000000
'2415021'
Jan 1 1900 00:00:00.000000000
J 형식 문자열은 날짜의 시간 부분을 포함하지 않으므로 반환 값의 시간이 00:00:00.000000000으로 설정됩니다.
다음 식은 문자열을 4자리 연도 형식으로 변환합니다. 현재 연도는 1998입니다.
TO_DATE( DATE_STR, 'MM/DD/RR')
DATE_STR
RETURN VALUE
'04/01/98'
04/01/1998 00:00:00.000000000
'08/17/05'
08/17/2005 00:00:00.000000000
다음 식은 문자열을 4자리 연도 형식으로 변환합니다. 현재 연도는 1998입니다.
TO_DATE( DATE_STR, 'MM/DD/YY')
DATE_STR
RETURN VALUE
'04/01/98'
04/01/1998 00:00:00.000000000
'08/17/05'
08/17/1905 00:00:00.000000000
두 번째 행의 경우 RR은 2005년을 반환하고 YY는 1905년을 반환합니다.
다음 식은 문자열을 4자리 연도 형식으로 변환합니다. 현재 연도는 1998입니다.
TO_DATE( DATE_STR, 'MM/DD/Y')
DATE_STR
RETURN VALUE
'04/01/8'
04/01/1998 00:00:00.000000000
'08/17/5'
08/17/1995 00:00:00.000000000
다음 식은 문자열을 4자리 연도 형식으로 변환합니다. 현재 연도는 1998입니다.
TO_DATE( DATE_STR, 'MM/DD/YYY')
DATE_STR
RETURN VALUE
'04/01/998'
04/01/1998 00:00:00.000000000
'08/17/995'
08/17/1995 00:00:00.000000000
다음 식은 자정 이후의 초 수를 포함하는 문자열을 날짜 값으로 변환합니다.
TO_DATE( DATE_STR, 'MM/DD/YYYY SSSSS')
DATE_STR
RETURN_VALUE
'12/31/1999 3783'
12/31/1999 01:02:03
'09/15/1996 86399'
09/15/1996 23:59:59
대상이 서로 다른 날짜 형식을 허용하는 경우 TO_DATE와 IS_DATE를 DECODE 함수와 함께 사용하여 허용 가능한 형식을 테스트할 수 있습니다. 예:
DECODE( TRUE,  --test first format    IS_DATE( CLOSE_DATE,'MM/DD/YYYY HH24:MI:SS' ),  --if true, convert to date       TO_DATE( CLOSE_DATE,'MM/DD/YYYY HH24:MI:SS' ),  --test second format; if true, convert to date    IS_DATE( CLOSE_DATE,'MM/DD/YYYY'), TO_DATE( CLOSE_DATE,'MM/DD/YYYY' ),  --test third format; if true, convert to date    IS_DATE( CLOSE_DATE,'MON DD YYYY'), TO_DATE( CLOSE_DATE,'MON DD YYYY'),  --if none of the above    ERROR( 'NOT A VALID DATE') )
다음과 같이 TO_CHAR과 TO_DATE를 함께 사용하면 월의 숫자 값을 텍스트 값으로 변환할 수 있습니다.
TO_CHAR( TO_DATE( numeric_month, 'MM' ), 'MONTH' )