DATEDIFF関数 : 書式
書式 DATEDIFF( datepart, startdate, enddate )
引数 datepart:比較する要素の指定
startdate:日付式
enddate:日付式
戻値 2つの日付の差
引数 datepart:比較する要素の指定
startdate:日付式
enddate:日付式
戻値 2つの日付の差
DATEDIFF関数 : 解説
DATEDIFF関数は、引数で指定された2つの日付間の差を求める関数です。引数「startdate」から引数「enddate」を引きます。このとき「datepart」で指定した要素(年、月、日など)に付いて引き算が行われ、その差分が整数の値で返ってきます。返ってくる値が正の数ならばstartdateよりもenddateの方が未来であり、負の数ならばstartdateよりもenddateの方が過去ということになります。引数「datepart」で指定できる要素は、以下の表となります。この表はDATEADD関数の表と同じです。
日付要素 | datepart | datepart省略形 |
---|---|---|
年 | year | yy / yyyy |
四半期 | quarter | qq / q |
月 | month | mm / m |
年始からの日数 | dayofyear | dy / y |
日 | day | dd / d |
週 | week | wk / ww |
時 | hour | hh |
分 | minute | mi / n |
秒 | second | ss / s |
ミリ秒 | millisecond | ms |
【SQL】 DATEADD関数の使い方(指定した期間を加減する)
DATEADD関数は、日付型のデータに対して一定の期間を加減する関数です。この関数で引数に指定する日付要素により、さまざまな期間を加減することができます。第2引数にプラスの値をすると加算、マイナスの値を指定すると減算となります。
DATEDIFF関数 : 使用例 (日の差分を求める)
SQL文
SELECT 開始日付, 終了日付, DATEDIFF(day, 開始日付, 終了日付) 差 FROM datediff_table
SELECT 開始日付, 終了日付, DATEDIFF(day, 開始日付, 終了日付) 差 FROM datediff_table
実行結果
開始日付 | 終了日付 | 差 |
---|---|---|
20-07-01 | 20-07-07 | 6 |
20-07-01 | 20-05-01 | -61 |
なお、日付の差分は-(マイナス)演算子を使っても求めることができます。
関連リンク
関数一覧
SQLリファレンス > 関数
ORACLE、MS-SQL Server、MS-Access、MySQLで使用する関数の一覧表です。いちれべ.comは、オラクル、MS-SQL Server、MS-Access で使用可能か一目でわかるのが特徴のSEサポートサイトです。