共用方式為


DATEDIFF (SSIS 運算式)

傳回在兩個指定日期之間跨越的日期和時間界限數目。 datepart 參數會識別要比較的日期和時間界限。

語法

  
DATEDIFF(datepart, startdate, endate)  

論點

datepart
這是參數,指定要比較和傳回值的日期部分。

startdate
這是間隔的開始日期。

endate
這是間隔的結束日期。

結果類型

DT_I4

備註

下表列出表達式評估工具所辨識的 dateparts 和縮寫。

日期部分 縮寫
yy、yyyy
季度 qq、q
mm、m
年中的日數 dy,y
dd、d
星期 wk、 ww
工作日 dw、w
小時 Hh
分鐘 mi, n
第二秒 ss、s
毫秒 女士

如果有任何自變數為 Null,DATEDIFF 會傳回 Null 結果。

日期字面值必須被強制轉型為其中一種日期資料類型。 如需詳細資訊,請參閱 Integration Services 資料類型

如果日期無效、日期或時間單位不是字串、開始日期不是日期,或結束日期不是日期,就會發生錯誤。

如果結束日期早於開始日期,函式會傳回負數。 如果開始和結束日期相等或落在相同的間隔內,函式會傳回零。

SSIS 運算式範例

此範例會計算兩個日期常值之間的天數。 如果日期為 「mm/dd/yyyy」 格式,則函式會傳回 7。

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

這個範例會傳回給定日期與目前日期之間的月數。

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

本範例會傳回 ModifiedDate 數據行與 YearEndDate 變數中日期之間的周數。 如果 YearEndDate 具有 date 數據類型,則不需要明確轉換。

DATEDIFF("Week", ModifiedDate,@YearEndDate)  

另請參閱

DATEADD (SSIS 運算式)
DATEPART (SSIS 運算式)
DAY (SSIS 運算式)
MONTH (SSIS 運算式)
YEAR (SSIS 運算式)
函數 (SSIS 運算式)