SQL Master データベースエンジニアとセキュリティエンジニアとLinuxエンジニアのための情報

【SQL日付関数】DATEDIFF – 日付と日付の差を取得する(SQL Server)

SQL ServerではDATEDIFF関数を使って、日付と日付の差を取得することができます。

文法:

DATEDIFF(element, d1, d2)

d1とd2の日付の差をelementで指定した日付要素に従って求める。

使用例:2つの日付の差を求める。

SELECT date1, date2, DATEDIFF(day, date1, date2) FROM tbTestTable;

date1             date2             DATEDIFF(day, date1, date2)
———————————————————————————————————————
1970-07-22 00:00:00   1999-12-12 00:00:00    10735
1970-07-22 00:00:00   1967-03-02 00:00:00    -1238

使用例:今日の日付と誕生日との日数の差を求める。

SELECT birthday, GETDATE(), DATEDIFF(day, birthday, GETDATE()) FROM tbEmpTable;

birthday           GETDATE()            DATEDIFF(day, birthday, GETDATE())
————————————————————————————————————————————-
1970-07-22 00:00:00   2009-09-09 22:31:36.090    14294
1984-12-24 00:00:00   2009-09-09 22:31:36.090    9025

SQLコマンド辞典に戻る