SQL Server - 1年前・1年後の日付を取得する

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

1年前・1年後の日付を取得する方法

DATEADD 関数の引数に 定数 year を指定し、加算・減算したい年数 と 日付 を渡します。
1年前の日付 = DATEADD(year, -1, 日付)
1年後の日付 = DATEADD(year, 1, 日付)
--時刻あり
1年前のシステム日時 = DATEADD(year, -1, GETDATE())
1年後のシステム日時 = DATEADD(year, 1, GETDATE())
--時刻なし
1年前のシステム日付 = DATEADD(year, -1, CAST(GETDATE() as date))
1年後のシステム日付 = DATEADD(year, 1, CAST(GETDATE() as date))

サンプル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')

サンプルSQLの実行結果

月 と 日 の計算

月の計算を行うには 定数 month、日数の計算を行うには 定数 day を指定します。
--月の計算
DATEADD(month, 加算・減算したい月数, 日付)

--日の計算
DATEADD(day, 加算・減算したい日数, 日付)
詳細は次の記事を参照してください。

検証環境

関連ページ