2 つの日付間の期間を返します。
DATEDIFF( date-part, date-expression-1, date-expression-2 )
date-part : year | quarter | month | week | day | dayofyear | hour | minute | second | millisecond
date-part 期間を測定する日付の単位を指定します。
上記の日付オブジェクトから 1 つを選択します。日付の単位の完全なリストについては、日付の単位を参照してください。
date-expression-1 期間の開始日。この値を date-expression-2 から引いて、2 つの引数の間に存在する date-part の数を返します。
date-expression-2 期間の終了日。この値から date-expression-1 を引いて、2 つの引数の間に存在する date-part の数を返します。
INT
この関数は、指定した 2 つの日付間に存在する日付の単位の数を計算します。結果は、日付の単位の数を表す、(date2 - date1) と同値の符号付き整数です。
DATEDIFF 関数の結果が日付の単位の整数倍でない場合、結果は丸められずに切り捨てになります。
day を日付の単位として使用する場合、DATEDIFF 関数は指定された 2 つの時刻の間の午前 0 時の回数を返します。このとき、2 番目の日付は計算に含まれますが、最初の日付は含まれません。
month を日付の単位として使用する場合、DATEDIFF 関数は 2 つの日付の間に存在する月の初日の数を返します。このとき、2 番目の日付は計算に含まれますが、最初の日付は含まれません。
week を日付の単位として使用する場合、DATEDIFF 関数は 2 つの日付の間に存在する日曜日の数を返します。このとき、2 番目の日付は計算に含まれますが、最初の日付は含まれません。
より短い時間単位のために、オーバフロー値が用意されています。
ミリ秒 24 日
秒 68 年
分 4083 年
その他 オーバフロー制限なし
これらの制限値を超えると、この関数はオーバフロー・エラーを返します。
SQL/2003 Transact-SQL 拡張。
次の文は、1 を返します。
SELECT DATEDIFF( hour, '4:00AM', '5:50AM' ); |
次の文は、102 を返します。
SELECT DATEDIFF( month, '1987/05/02', '1995/11/15' ); |
次の文は、0 を返します。
SELECT DATEDIFF( day, '00:00', '23:59' ); |
次の文は、4 を返します。
SELECT DATEDIFF( day, '1999/07/19 00:00', '1999/07/23 23:59' ); |
次の文は、0 を返します。
SELECT DATEDIFF( month, '1999/07/19', '1999/07/23' ); |
次の文は、1 を返します。
SELECT DATEDIFF( month, '1999/07/19', '1999/08/23' ); |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |