SQLで
・日付(DATE型)
・日付(DATETIME型)
・日付(文字列型)
を加算/減算できます!
「DATEADD」関数により
取得できます!
SQL
--DATE型、DATETIME型、文字列型の変数を定義
DECLARE
@date DATE,
@dateTime DATETIME,
@dateStr VARCHAR(8)
--変数へ日時を設定
SET @date = GETDATE()
SET @dateTime = GETDATE()
SET @dateStr = '20200701'
--DATE型の変数から取得
SELECT
DATEADD(day, -3,@date) AS '3日前',
DATEADD(day, 3,@date) AS '3日後',
DATEADD(month,-3,@date) AS '3ヶ月前',
DATEADD(month, 3,@date) AS '3ヶ月後',
DATEADD(year, -3,@date) AS '3年前',
DATEADD(year, 3,@date) AS '3年後'
--DATETIME型の変数から取得
SELECT
DATEADD(day, -3,@dateTime) AS '3日前',
DATEADD(day, 3,@dateTime) AS '3日後',
DATEADD(month,-3,@dateTime) AS '3ヶ月前',
DATEADD(month, 3,@dateTime) AS '3ヶ月後',
DATEADD(year, -3,@dateTime) AS '3年前',
DATEADD(year, 3,@dateTime) AS '3年後'
--文字列型の変数から取得
SELECT
DATEADD(day, -3,@dateStr) AS '3日前',
DATEADD(day, 3,@dateStr) AS '3日後',
DATEADD(month,-3,@dateStr) AS '3ヶ月前',
DATEADD(month, 3,@dateStr) AS '3ヶ月後',
DATEADD(year, -3,@dateStr) AS '3年前',
DATEADD(year, 3,@dateStr) AS '3年後'
実行結果
「日付」を加算/減算できました!
※SQLを実行したのは2020/7/29です。
参考
上記で使用した以下の詳細は、公式サイトをご確認ください。
●「DATEADD」関数