DATETIME_DIFF

使用例

DATETIME_DIFF(Order Date, Ship Date, DAY)

構文

DATETIME_DIFF( date_expression, date_expression, part )

パラメータ

  • date_expression - [日付] または [日付と時刻] フィールドまたは式。最初の日付式が 2 番目の日付式よりも前にある場合、結果はゼロか負の値になります。
  • part - 返される時刻パーツ。DATETIME_DIFF は次のパーツをサポートしています。
    • MICROSECOND: [日付と時刻] フィールドまたは式で使用できます。
    • MILLISECOND: [日付と時刻] フィールドまたは式で使用できます。
    • SECOND: [日付と時刻] フィールドまたは式で使用できます。
    • MINUTE: [日付と時刻] フィールドまたは式で使用できます。
    • HOUR: [日付と時刻] フィールドまたは式で使用できます。
    • DAY
    • WEEK: この日付部分は日曜日から始まります。
    • ISOWEEK: ISO 8601 の週の境界を使用します。ISO 週は月曜日から始まります。
    • MONTH
    • QUARTER
    • YEAR
    • ISOYEAR: ISO 8601 の週番号が付いた年の境界を使用します。ISO 年の境界は、対応するグレゴリオ暦年に木曜日が属している最初の週の月曜日です。

戻りデータの型

Number (integer)

下記の 2 番目と 3 番目の例は、24 時間離れている 2 つの日付値に対する DATETIME_DIFF の結果を示しています。DATETIME_DIFF は、これらの日付値の範囲内にあるパーツの境界の数をカウントするため、パーツ WEEK が指定された DATETIME_DIFF は 1 を返します。各 WEEK は日曜日から始まるため、2017 年 10 月 14 日土曜日 00 時 00 分 00 秒と 2017 年 10 月 15 日日曜日 00 時 00 分 00 秒の間には、パーツの境界が 1 つあります。

数式の例 出力
DATETIME_DIFF( DATETIME "2010-07-07 10:20:00", DATETIME "2008-12-25 15:30:00", DAY ) 559
DATETIME_DIFF( DATETIME "2017-10-15 00:00:00", DATETIME "2017-10-14 00:00:00", DAY )

1

DATETIME_DIFF( DATETIME "2017-10-15 00:00:00", DATETIME "2017-10-14 00:00:00", WEEK ) 1

次の例は、異なる年の 2 つの日付に対する DATETIME_DIFF の結果を示しています。日付パーツ YEAR が指定された DATETIME_DIFF は、2 つの日付値の間のグレゴリオ暦年の境界の数をカウントするため、3 を返します。2 番目の日付値は ISO 基準の 2015 年に属しているため、日付パーツ ISOYEAR が指定された DATETIME_DIFF は 2 を返します。暦年 2015 年の最初の木曜日が 2015 年 1 月 1 日であったため、ISO 年の 2015 年は 2014 年 12 月 29 日月曜日から始まります。

数式の例 出力
DATETIME_DIFF(DATETIME '2017-12-30 00:00:00', DATETIME '2014-12-30 00:00:00', YEAR) 3
DATETIME_DIFF(DATETIME '2017-12-30 00:00:00', DATETIME '2014-12-30 00:00:00', ISOYEAR)

2

次の例は、2 つの日付に対する DATETIME_DIFF の結果を連続して示しています。最初の日付は月曜日で、2 番目の日付は日曜日です。ISO 週は月曜日から始まるので、日付パーツ ISOWEEK が指定された DATETIME_DIFF も 1 を返します。

数式の例 出力
DATETIME_DIFF(DATE '2017-12-18', DATE '2017-12-17', WEEK) 撮影していない
DATETIME_DIFF(DATE '2017-12-18', DATE'2017-12-17', ISOWEEK) 1

メモ

この関数は、互換モードの日付タイプでは使用できません。