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