【DATEDIFF関数】「2つの日付」を比較して差を取得する

DATEDIFF関数を使用することで、
 ・2つの日付(DATE型)
 ・2つの日付(DATETIME型)
を比較して差を取得するすることができます!

DATEDIFF関数とは

「2つの日付」を比較して差を取得する関数です。
「Transact-SQL(T-SQL)」に含まれています。
よってSQL Serverでのみ使用することができます。

DATEDIFF関数の戻り値はINTです。

サンプルSQL

ここでは第一引数に「day」を指定して、「日」を比較して差を取得します。

・「year」を指定すれば 「年」を
・「month」を指定すれば「月」を
比較して差を取得することができます。

--DATE型、DATETIME型、文字列型の変数を定義
DECLARE 
	@dateToday          DATE,
	@dateTimeToday      DATETIME,
	@dateBefour3day     DATE,
	@dateTimeBefour3day DATETIME

--変数へ本日の日時を設定
SET @dateToday     = GETDATE()
SET @dateTimeToday = GETDATE()

--変数へ3日前の日時を設定
SET @dateBefour3day     = GETDATE() -3
SET @dateTimeBefour3day = GETDATE() -3


--DATE型の変数を比較
SELECT
	DATEDIFF(day, @dateToday, @dateBefour3day) AS '本日と3日前の比較結果'

--DATETIME型の変数を比較
SELECT
	DATEDIFF(day, @dateTimeToday, @dateTimeBefour3day) AS '本日と3日前の比較結果'

サンプルSQLの実行結果

「2つの日付」を比較して差を取得することができました!

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