SQL ServerではDATEADD関数を使って、日付型の値に日時を加算する事ができます。
構文:
DATEADD(element, value, target)
targetにvalueで指定した値を加算する。elementにvalueの日付要素を記述する。日付要素は以下のようなものがある。
year(yy or yyyy) : 年
quarter(qq or q) : 四半期
month(mm or m) : 月
dayofyear(dy or y) : 年始からの日数
day(dd, d) : 日
week(wk, w) : 週
weekday(dw) : 曜日
hour(hh) : 時
minute(mi or n) : 分
second(ss) : 秒
millisecond(ms, s) : ミリ秒
使用例:birthday列の値の20日後の日付を求める。
SELECT birthday, DATEADD(day, 20, birthday) FROM tbEmpTable;
birthday DATEADD(day, 20, birthday)
————————————————————
1970-08-01 00:00:00.000 1970-08-21 00:00:00.000
使用例:birthday列の値に14時間を加算する。
SELECT birthday, DATEADD(hour, 14, birthday) FROM tbEmpTable;
birthday DATEADD(hour, 14, birthday)
———————————————————–
1970-08-01 00:00:00.000 1970-08-01 14:00:00.000
使用例:birthday列の値に2週間分の日付を加算する。
SELECT birthday, DATEADD(week, 2, birthday) FROM tbTestTable;
birthday DATEADD(week, 2, birthday)
———————————————————-
1970-08-01 14:00:00.000 1970-08-15 14:00:00.000