DATEDIFF(SSIS 식)DATEDIFF (SSIS Expression)

지정한 두 날짜 간에 교차되는 날짜와 시간 경계값을 반환합니다.Returns the number of date and time boundaries crossed between two specified dates. datepart 매개 변수는 비교할 날짜 및 시간 범위를 식별합니다.The datepart parameter identifies which date and time boundaries to compare.

구문Syntax


DATEDIFF(datepart, startdate, endate)  

인수Arguments

datepartdatepart
비교하여 값을 반환할 날짜 부분을 지정하는 매개 변수입니다.Is the parameter that specifies which part of the date to compare and return a value for.

startdatestartdate
간격의 시작 날짜입니다.Is the start date of the interval.

endateendate
간격의 종료 날짜입니다.Is the end date of the interval.

결과 형식Result Types

DT_I4DT_I4

주의Remarks

다음 표에서는 식 계산기가 인식하는 날짜 부분 및 약어를 나열합니다.The following table lists the dateparts and abbreviations recognized by the expression evaluator.

datepartDatepart 약어Abbreviations
YearYear yy, yyyyyy, yyyy
QuarterQuarter qq, qqq, q
MonthMonth mm, mmm, m
DayofyearDayofyear dy, ydy, y
DayDay dd, ddd, d
WeekWeek wk, wwwk, ww
WeekdayWeekday dw, wdw, w
HourHour HhHh
MinuteMinute mi, nmi, n
둘째Second ss, sss, s
MillisecondMillisecond MsMs

인수가 Null이면 DATEDIFF 결과도 Null입니다.DATEDIFF returns a null result if any argument is null.

날짜 리터럴은 다음의 날짜 데이터 형식 중 하나로 명시적 캐스팅되어야 합니다.A date literal must be explicitly cast to one of the date data types. 자세한 내용은 Integration Services Data Types을 참조하세요.For more information, see Integration Services Data Types.

올바른 날짜가 아니거나, 날짜 또는 시간 단위가 문자열이 아니거나, 시작 날짜가 날짜가 아니거나, 종료 날짜가 날짜가 아니면 오류가 발생합니다.An error occurs if a date is not valid, if the date or time unit is not a string, if the start date is not a date, or if the end date is not a date.

종료 날짜가 시작 날짜보다 빠르면 음수가 반환됩니다.If the end date is earlier than the start date, the function returns a negative number. 시작 날짜와 종료 날짜가 같거나 동일한 간격 내에 있으면 0이 반환됩니다.If the start and end dates are equal or fall within the same interval, the function returns zero.

SSIS 식 예SSIS Expression Examples

이 예에서는 두 날짜 리터럴 사이의 일 수를 계산합니다.This example calculates the number of days between two date literals. 날짜 형식이 "mm/dd/yyyy"이면 7이 반환됩니다.If the date is in "mm/dd/yyyy" format, the function returns 7.

DATEDIFF("dd", (DT_DBTIMESTAMP)"8/1/2003", (DT_DBTIMESTAMP)"8/8/2003")  

이 예에서는 날짜 리터럴과 현재 날짜 사이의 개월 수를 반환합니다.This example returns the number of months between a date literal and the current date.

DATEDIFF("mm", (DT_DBTIMESTAMP)"8/1/2003",GETDATE())  

이 예에서는 ModifiedDate 열의 날짜와 YearEndDate 변수 사이의 주 수를 반환합니다.This example returns the number of weeks between the date in the ModifiedDate column and the YearEndDate variable. YearEndDate 의 데이터 형식이 date 이면 명시적 캐스트는 필요 없습니다.If YearEndDate has a date data type, no explicit casting is required.

DATEDIFF("Week", ModifiedDate,@YearEndDate)  

관련 항목:See Also

DATEADD(SSIS 식) DATEADD (SSIS Expression)
DATEPART(SSIS 식) DATEPART (SSIS Expression)
DAY(SSIS 식) DAY (SSIS Expression)
MONTH(SSIS 식) MONTH (SSIS Expression)
YEAR(SSIS 식) YEAR (SSIS Expression)
함수(SSIS 식)Functions (SSIS Expression)