목차

Search

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

변환 언어 참조

변환 언어 참조

DATE_DIFF

DATE_DIFF

두 날짜 간의 시간 길이를 반환합니다. 연도, 월, 일, 시간, 분, 초, 밀리초, 마이크로초 또는 나노초 형식을 반환하도록 요청할 수 있습니다.
PowerCenter 통합 서비스
는 첫 번째 날짜에서 두 번째 날짜를 빼고 그 차이를 반환합니다.
PowerCenter 통합 서비스
는 일 수가 아닌 월 수를 기준으로 DATE_DIFF 함수를 계산합니다. 각 월에서 선택된 일을 사용하여 특정 월에 대한 날짜 차이를 계산합니다. 특정 월에 대한 날짜 차이를 계산할 때
PowerCenter 통합 서비스
는 해당 월에서 지난 일 수를 더한 다음 선택된 월의 전체 일 수로 이 값을 나눕니다.
PowerCenter 통합 서비스
는 윤년 기간과 윤년이 아닌 기간의 샘플 기간에 대해 다른 값을 제공합니다. 이 차이는 DATE_DIFF 함수에 2월이 포함될 경우 발생합니다. DATE_DIFF 함수는 윤년 2월의 경우 일 수를 29로 나누고 평년 2월의 경우 28로 나눕니다.
예를 들어 9월 13일부터 2월 19일까지의 월 수를 계산하려는 경우 윤년 기간에서는 DATE_DIFF 함수가 2월을 19/29개월 또는 0.655개월로 계산합니다. 평년 기간에서는 DATE_DIFF 함수가 2월을 19/28개월 또는 0.678개월로 계산합니다.
PowerCenter 통합 서비스
는 남은 월의 날짜 차이도 이와 유사한 방식으로 계산하며 DATE_DIFF 함수는 지정된 기간에 대한 합계 값을 반환합니다.
일부 데이터베이스는 다른 알고리즘을 사용하여 날짜 차이를 계산할 수 있습니다.

구문

DATE_DIFF(
date1
,
date2
,
format
)
다음 테이블에는 이 명령의 인수가 설명되어 있습니다.
인수
필수/
선택 사항
설명
date1
필수
날짜/시간 데이터 유형. 비교할 첫 번째 날짜에 대한 값을 전달합니다. 유효한 모든 변환 식을 입력할 수 있습니다.
date2
필수
날짜/시간 데이터 유형. 비교할 두 번째 날짜에 대한 값을 전달합니다. 유효한 모든 변환 식을 입력할 수 있습니다.
형식
필수
날짜 또는 시간 측정을 지정하는 형식 문자열. 연도, 월, 일, 시간, 분, 초, 밀리초, 마이크로초 또는 나노초를 지정할 수 있습니다. 'mm'과 같이 날짜의 한 부분만 지정할 수 있습니다. 형식 문자열은 작은따옴표로 묶습니다. 형식 문자열은 대/소문자를 구분하지 않습니다. 예를 들어 형식 문자열 'mm'은 'MM', 'Mm' 또는 'mM'과 동일합니다.

반환 값

배정밀도 값.
date1
date2
보다 이후인 경우 반환 값은 양수입니다.
date1
date2
보다 이전인 경우 반환 값은 음수입니다.
날짜가 동일한 경우 0이 반환됩니다.
날짜 값 중 하나(또는 둘 다)가 NULL인 경우 NULL이 반환됩니다.

다음 식은 DATE_PROMISED와 DATE_SHIPPED 포트 간의 시간 수를 반환합니다.
DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'HH' ) DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'HH12' ) DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'HH24' )
DATE_PROMISED
DATE_SHIPPED
RETURN VALUE
Jan 1 1997 12:00:00AM
Mar 29 1997 12:00:00PM
-2100
Mar 29 1997 12:00:00PM
Jan 1 1997 12:00:00AM
2100
NULL
Dec 10 1997 5:55:10PM
NULL
Dec 10 1997 5:55:10PM
NULL
NULL
Jun 3 1997 1:13:46PM
Aug 23 1996 4:20:16PM
6812.89166666667
Feb 19 2004 12:00:00PM
Feb 19 2005 12:00:00PM
-8784
다음 식은 DATE_PROMISED와 DATE_SHIPPED 포트 간의 일 수를 반환합니다.
DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'D' ) DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'DD' ) DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'DDD' ) DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'DY' ) DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'DAY' )
DATE_PROMISED
DATE_SHIPPED
RETURN VALUE
Jan 1 1997 12:00:00AM
Mar 29 1997 12:00:00PM
-87.5
Mar 29 1997 12:00:00PM
Jan 1 1997 12:00:00AM
87.5
NULL
Dec 10 1997 5:55:10PM
NULL
Dec 10 1997 5:55:10PM
NULL
NULL
Jun 3 1997 1:13:46PM
Aug 23 1996 4:20:16PM
283.870486111111
Feb 19 2004 12:00:00PM
Feb 19 2005 12:00:00PM
-366
다음 식은 DATE_PROMISED와 DATE_SHIPPED 포트 간의 월 수를 반환합니다.
DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'MM' ) DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'MON' ) DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'MONTH' )
DATE_PROMISED
DATE_SHIPPED
RETURN VALUE
Jan 1 1997 12:00:00AM
Mar 29 1997 12:00:00PM
-2.91935483870968
Mar 29 1997 12:00:00PM
Jan 1 1997 12:00:00AM
2.91935483870968
NULL
Dec 10 1997 5:55:10PM
NULL
Dec 10 1997 5:55:10PM
NULL
NULL
Jun 3 1997 1:13:46PM
Aug 23 1996 4:20:16PM
9.3290162037037
Feb 19 2004 12:00:00PM
Feb 19 2005 12:00:00PM
-12
다음 식은 DATE_PROMISED와 DATE_SHIPPED 포트 간의 년 수를 반환합니다.
DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'Y' ) DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'YY' ) DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'YYY' ) DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'YYYY' )
DATE_PROMISED
DATE_SHIPPED
RETURN VALUE
Jan 1 1997 12:00:00AM
Mar 29 1997 12:00:00PM
-0.24327956989247
Mar 29 1997 12:00:00PM
Jan 1 1997 12:00:00AM
0.24327956989247
NULL
Dec 10 1997 5:55:10PM
NULL
Dec 10 1997 5:55:10PM
NULL
NULL
Jun 3 1997 1:13:46PM
Aug 23 1996 4:20:16PM
0.77741801697531
Feb 19 2004 12:00:00PM
Feb 19 2005 12:00:00PM
-1
다음 식은 DATE_PROMISED와 DATE_SHIPPED 포트 간의 월 수를 반환합니다.
DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'MM' ) DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'MON' ) DATE_DIFF( DATE_PROMISED, DATE_SHIPPED, 'MONTH' )
DATE_PROMISED
DATE_SHIPPED
LEAP YEAR VALUE (in Months)
NON-LEAP YEAR VALUE (in Months)
Sept 13
Feb 19
-5.237931034
-5.260714286
NULL
Feb 19
NULL
N/A
Sept 13
NULL
NULL
N/A