Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Ultra Light データベース管理とリファレンス » Ultra Light SQL リファレンス » Ultra Light SQL 関数 » SQL 関数 (A ~ D)

 

DATEDIFF 関数 [日付と時刻]

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' );