【SQL】 DATEDIFF関数の使い方(日の差分を求める)

日付関数
日付関数
この記事は約2分で読めます。
Recommended Articles

【SQL】 DATEDIFF関数の使い方(日の差分を求める)

DATEDIFF関数は、MS-SQL  MS-Access で使用できます。

DATEDIFF関数 : 書式

書式 DATEDIFF( datepart, startdate, enddate )
引数 datepart:比較する要素の指定
    startdate:日付式
    enddate:日付式
戻値 2つの日付の差

DATEDIFF関数 : 解説

DATEDIFF関数は、引数で指定された2つの日付間の差を求める関数です。引数「startdate」から引数「enddate」を引きます。このとき「datepart」で指定した要素(年、月、日など)に付いて引き算が行われ、その差分が整数の値で返ってきます。返ってくる値が正の数ならばstartdateよりもenddateの方が未来であり、負の数ならばstartdateよりもenddateの方が過去ということになります。引数「datepart」で指定できる要素は、以下の表となります。この表はDATEADD関数の表と同じです。

日付要素datepartdatepart省略形
yearyy / yyyy
四半期quarterqq / q
monthmm / m
年始からの日数dayofyeardy / y
daydd / d
weekwk / ww
hourhh
minutemi / n
secondss / s
ミリ秒millisecondms
【SQL】 DATEADD関数の使い方(指定した期間を加減する)
DATEADD関数は、日付型のデータに対して一定の期間を加減する関数です。この関数で引数に指定する日付要素により、さまざまな期間を加減することができます。第2引数にプラスの値をすると加算、マイナスの値を指定すると減算となります。

DATEDIFF関数 : 使用例 (日の差分を求める)

SQL文
SELECT 開始日付, 終了日付, DATEDIFF(day, 開始日付, 終了日付) 差 FROM datediff_table
実行結果

開始日付終了日付
20-07-0120-07-076
20-07-0120-05-01-61

なお、日付の差分は-(マイナス)演算子を使っても求めることができます。

関連リンク

関数一覧
SQLリファレンス > 関数
ORACLE、MS-SQL Server、MS-Access、MySQLで使用する関数の一覧表です。いちれべ.comは、オラクル、MS-SQL Server、MS-Access で使用可能か一目でわかるのが特徴のSEサポートサイトです。
Recommended Articles