使用例
DATETIME_DIFF(注文日, 発送日, DAY)
構文
DATETIME_DIFF(date_expression, date_expression, part)
パラメータ
date_expression
- [日付] または [日付と時刻] フィールドまたは式。最初の日付式が 2 番目の日付式よりも前にある場合、結果は正以外の値になります。計算によって得られたタイプがオーバーフローする場合、DATETIME_DIFF によりエラーがスローされます。たとえば、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 つあります。
数式 | 結果 |
---|---|
|
559 |
|
1 |
|
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 日月曜日から始まります。
数式 | 結果 |
---|---|
|
3 |
|
2 |
次の例は、連続する 2 つの日付に対する DATETIME_DIFF の結果を示しています。最初の日付は月曜日で、2 番目の日付は日曜日になります。ISO 週は月曜日から始まるので、日付パーツ ISOWEEK
が指定された DATETIME_DIFF も 1 を返します。
数式 | 結果 |
---|---|
|
0 |
|
1 |
注
この関数は、互換モードの日付タイプでは使用できません。