DATEDIFF (SSIS 式)

指定された 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

Day

dd、d

Week

wk、ww

Weekday

dw、w

Hour

Hh

Minute

mi、n

Second

ss、s

Millisecond

Ms

引数のいずれかが NULL の場合、DATEDIFF は NULL を返します。

日付リテラルは、日付データ型のいずれかに明示的にキャストされる必要があります。 詳細については、「Integration Services のデータ型」を参照してください。

日付が有効でない場合、日付または時刻の単位が文字列でない場合、開始日が日付でない場合、または終了日が日付でない場合は、エラーが発生します。

終了日が開始日よりも前の日付の場合、この関数は負の値を返します。 開始日と終了日の日付が同一、または同じ間隔の範囲内である場合、この関数は 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 式)