목차

Search

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

변환 언어 참조

변환 언어 참조

SET_DATE_PART

SET_DATE_PART

날짜/시간 값의 일부를 지정하는 값으로 설정합니다. SET_DATE_PART를 사용하여 날짜의 다음 부분을 변경할 수 있습니다.
  • 연도.
    양의 정수를
    인수에 입력하여 연도를 변경합니다. 다음 연도 형식 문자열 중 하나를 사용합니다. 연도를 설정하려면 Y, YY, YYY 또는 YYYY를 사용합니다. 예를 들어 다음 식은 SHIP_DATE 포트에 있는 모든 날짜의 연도를 2001로 변경합니다.
    SET_DATE_PART( SHIP_DATE, 'YY', 2001 )
  • 월.
    1과 12 사이의 양의 정수(1월=1 및 12월=12)를
    인수에 입력하여 월을 변경합니다. 다음 월 형식 문자열 중 하나를 사용합니다. 월을 설정하려면 MM, MON, MONTH를 사용합니다. 예를 들어 다음 식은 SHIP_DATE 포트에 있는 모든 날짜의 월을 10월로 변경합니다.
    SET_DATE_PART( SHIP_DATE, 'MONTH', 10 )
  • 일.
    1과 31 사이의 양의 정수(일 수가 31일보다 적은 월인 2, 4, 6, 9 및 11월은 예외)를
    인수에 입력하여 일을 변경합니다. 일을 설정하려면 월 형식 문자열(D, DD, DDD, DY 및 DAY)을 사용합니다. 예를 들어 다음 식은 SHIP_DATE 포트에 있는 모든 날짜의 일을 10으로 변경합니다.
    SET_DATE_PART( SHIP_DATE, 'DD', 10 )
  • 시간.
    0과 24 사이의 양의 정수(여기서 0=12AM, 12=12PM 및 24=12AM)를
    인수에 입력하여 시간을 변경합니다. 시간을 설정하려면 시간 형식 문자열(HH, HH12, HH24)을 사용합니다. 예를 들어 다음 식은 SHIP_DATE 포트에 있는 모든 날짜의 시간을 14:00:00(또는 2:00:00PM)으로 변경합니다.
    SET_DATE_PART( SHIP_DATE, 'HH', 14 )
  • 분.
    0과 59 사이의 양의 정수를
    인수에 입력하여 분을 변경합니다. MI 형식 문자열을 사용하여 분을 설정합니다. 예를 들어 다음 식은 SHIP_DATE 포트에 있는 모든 날짜의 분을 25로 변경합니다.
    SET_DATE_PART( SHIP_DATE, 'MI', 25 )
  • 초.
    0과 59 사이의 양의 정수를
    인수에 입력하여 초를 변경합니다. SS 형식 문자열을 사용하여 초를 설정합니다. 예를 들어 다음 식은 SHIP_DATE 포트에 있는 모든 날짜의 초를 59로 변경합니다.
    SET_DATE_PART( SHIP_DATE, 'SS', 59 )
  • 밀리초
    . 0과 999 사이의 양의 정수를
    인수에 입력하여 밀리초를 변경합니다. MS 형식 문자열을 사용하여 밀리초를 설정합니다. 예를 들어 다음 식은 SHIP_DATE 포트에 있는 모든 날짜의 밀리초를 125로 변경합니다.
    SET_DATE_PART( SHIP_DATE, 'MS', 125 )
  • 마이크로초.
    1000과 999999 사이의 양의 정수를
    인수에 입력하여 마이크로초를 변경합니다. US 형식 문자열을 사용하여 밀리초를 설정합니다. 예를 들어 다음 식은 SHIP_DATE 포트에 있는 모든 날짜의 마이크로초를 12555로 변경합니다.
    SET_DATE_PART( SHIP_DATE, 'US', 12555 )
  • 나노초.
    1000000과 999999999 사이의 양의 정수를
    인수에 입력하여 나노초를 변경합니다. NS 형식 문자열을 사용하여 나노초를 설정합니다. 예를 들어 다음 식은 SHIP_DATE 포트에 있는 모든 날짜의 나노초를
    12555555
    로 변경합니다.
    SET_DATE_PART( SHIP_DATE, 'NS', 12555555 )

구문

SET_DATE_PART( 
date
,
format
,
value
 )
다음 테이블에는 이 명령의 인수가 설명되어 있습니다.
인수
필수/
선택 사항
설명
날짜
필수
날짜/시간 데이터 유형. 수정할 날짜입니다. 유효한 모든 변환 식을 입력할 수 있습니다.
형식
필수
변경할 날짜 부분을 지정하는 형식 문자열입니다. 형식 문자열은 대/소문자를 구분하지 않습니다.
필수
지정된 날짜 부분에 할당된 양의 정수 값입니다. 이 정수는 변경할 날짜의 부분에 유효한 값이어야 합니다. February 30과 같이 부적절한 값을 입력하면 세션이 실패합니다.

반환 값

지정된 부분이 변경된 날짜가 소스 날짜와 동일한 형식으로 반환됩니다.
함수에 전달된 값이 NULL인 경우 NULL입니다.

다음 식은 DATE_PROMISED 포트에 있는 각 날짜의 시간을 4PM으로 변경합니다.
SET_DATE_PART( DATE_PROMISED, 'HH', 16 ) SET_DATE_PART( DATE_PROMISED, 'HH12', 16 ) SET_DATE_PART( DATE_PROMISED, 'HH24', 16 )
DATE_PROMISED
RETURN VALUE
Jan 1 1997 12:15:56AM
Jan 1 1997 4:15:56PM
Feb 13 1997 2:30:01AM
Feb 13 1997 4:30:01PM
Mar 31 1997 5:10:15PM
Mar 31 1997 4:10:15PM
Dec 12 1997 8:07:33AM
Dec 12 1997 4:07:33PM
NULL
NULL
다음 식은 DATE_PROMISED 포트에 있는 날짜의 월을 6월로 변경합니다. 3월 31일을 6월 31일로 변경하는 등 존재하지 않는 날짜를 작성하려고 하면
PowerCenter 통합 서비스
가 오류를 표시합니다.
SET_DATE_PART( DATE_PROMISED, 'MM', 6 ) SET_DATE_PART( DATE_PROMISED, 'MON', 6 ) SET_DATE_PART( DATE_PROMISED, 'MONTH', 6 )
DATE_PROMISED
RETURN VALUE
Jan 1 1997 12:15:56AM
Jun 1 1997 12:15:56AM
Feb 13 1997 2:30:01AM
Jun 13 1997 2:30:01AM
Mar 31 1997 5:10:15PM
Error. Integration Service doesn't write row.
Dec 12 1997 8:07:33AM
Jun 12 1997 8:07:33AM
NULL
NULL
다음 식은 DATE_PROMISED 포트에 있는 날짜의 연도를 2000으로 변경합니다.
SET_DATE_PART( DATE_PROMISED, 'Y', 2000 ) SET_DATE_PART( DATE_PROMISED, 'YY', 2000 ) SET_DATE_PART( DATE_PROMISED, 'YYY', 2000 ) SET_DATE_PART( DATE_PROMISED, 'YYYY', 2000 )
DATE_PROMISED
RETURN VALUE
Jan 1 1997 12:15:56AM
Jan 1 2000 12:15:56AM
Feb 13 1997 2:30:01AM
Feb 13 2000 2:30:01AM
Mar 31 1997 5:10:15PM
Mar 31 2000 5:10:15PM
Dec 12 1997 8:07:33AM
Dec 12 2000 4:07:33PM
NULL
NULL

날짜의 여러 부분을 한 번에 변경하려는 경우
날짜
인수 안에 여러 SET_DATE_PART 함수를 중첩할 수 있습니다. 예를 들어 DATE_ENTERED 포트의 모든 날짜를 1998년 7월 1일로 변경하려는 경우 다음과 같은 식을 작성할 수 있습니다.
SET_DATE_PART( SET_DATE_PART( SET_DATE_PART( DATE_ENTERED, 'YYYY', 1998),MM', 7), 'DD', 1)