使用例
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 |
メモ
この関数は、互換モードの日付タイプでは使用できません。