DATEDIFF (SSIS 式)
適用対象: SQL Server Azure Data Factory の SSIS Integration Runtime
指定された 2 つの日付間の差を、日付および時刻の単位で返します。 datepart パラメーターにより、差分を計算する基となる日付と時刻を指定します。
構文
DATEDIFF(datepart, startdate, endate)
引数
datepart
比較して値を返す日付の要素を指定するパラメーターです。
startdate
間隔の開始日です。
endate
間隔の終了日です。
戻り値の型
DT_I4
注釈
次の表に、式エバリュエーターで認識される日付要素 (datepart) と省略形を示します。
datepart | 省略形 |
---|---|
Year | yy、yyyy |
Quarter | qq, q |
Month | mm, m |
Dayofyear | dy、y |
日間 | dd, d |
週 | wk、ww |
平日 | dw、w |
時間 | Hh |
分 | mi、n |
Second | ss, s |
Millisecond | Ms |
引数のいずれかが NULL の場合、DATEDIFF は NULL を返します。
日付リテラルは、日付データ型のいずれかに明示的にキャストされる必要があります。 詳細については、「 Integration Services Data Types」を参照してください。
日付が有効でない場合、日付または時刻の単位が文字列でない場合、開始日が日付でない場合、または終了日が日付でない場合は、エラーが発生します。
終了日が開始日よりも前の日付の場合、この関数は負の値を返します。 開始日と終了日の日付が同一、または同じ間隔の範囲内である場合、この関数は 0 を返します。
SSIS 式の例
この例では、2 つの日付リテラル間の日数が計算されます。 日付が "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 式)