【SQL Server/DATEADD関数】「日付」を加算/減算する

SQLで
 ・日付(DATE型)
 ・日付(DATETIME型)
 ・日付(文字列型)
を加算/減算できます!

「DATEADD」関数により
取得できます!

PR

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年後'

DATEADD関数の戻り値はDATEまたはDATETIME型です。

PR

実行結果

「日付」を加算/減算できました!
※SQLを実行したのは2020/7/29です。

「日付」を加算/減算
「日付」を加算/減算

引数に「日付(文字列型)」を指定した場合、時分秒は「00:00:00.000」になります。

PR

参考

上記で使用した以下の詳細は、公式サイトをご確認ください。

●「DATEADD」関数

タイトルとURLをコピーしました