SQL Server - 日付の計算を行う方法

日付の計算を行うには DATEADD 関数を使用します。

年の計算

DATEADD 関数の引数に 定数 year を指定し、加算・減算したい年数 と 日付 を渡します。
1年前の日付 = DATEADD(year, -1, 日付)
1年後の日付 = DATEADD(year, 1, 日付)

サンプルSQL

--結果 = 2024-01-01 00:00:00.000
SELECT DATEADD(year, -1, '2025/01/01')

--結果 = 2026-01-01 00:00:00.000
SELECT DATEADD(year, 1, '2025/01/01')

月の計算

DATEADD 関数の引数に 定数 month を指定し、加算・減算したい月数 と 日付 を渡します。
一カ月前の日付 = DATEADD(month, -1, 日付)
一カ月後の日付 = DATEADD(month, 1, 日付)

サンプルSQL

--結果 = 2024-12-01 00:00:00.000
SELECT DATEADD(month, -1, '2025/01/01')

--結果 = 2025-02-01 00:00:00.000
SELECT DATEADD(month, 1, '2025/01/01')

日数の計算

DATEADD 関数の引数に 定数 day を指定し、加算・減算したい日数 と 日付 を渡します。
1日前の日付 = DATEADD(day, -1, 日付)
1日後の日付 = DATEADD(day, 1, 日付)

サンプルSQL

--結果 = 2024-12-31 00:00:00.000
SELECT DATEADD(day, -1, '2025/01/01')

--結果 = 2025-01-02 00:00:00.000
SELECT DATEADD(day, 1, '2025/01/01')

検証環境