【SQL Server】DATEDIFF で日付の差を比較する

DATEDIFF(日付の差分を比較する)

DATEDIFFの構文

SQLServerで日付(月、日、時間)の差を比較するには「DATEDIFF」を使います。

DATEDIFF(型, 開始日, 終了日)

開始日~終了日の日付種類(月、日、時間)の差を比較します。

第一引数の「型」は下記の一覧を参照してください。時間を比較する場合は「hour」、日を比較する場合は「day」とします。

<第一引数の型>

種類 型(略)
year yyyy/yy
month mm
day dd
時間 hour hh
minute mi
second ss

参照:DATEDIFF (Transact-SQL)

例1. 日付の差を比較するパターン

--日付の差を比較する
SELECT DATEDIFF(day, '2022-11-01', '2022-11-03');
[結果] 
2

第1パラメータに「day」をセットしました。ここでは「11/1」と「11/3」の日付差を比較し「2」を取得しました。

例2. 時間の差を比較するパターン

--時間の差を比較する
SELECT DATEDIFF(hour, '2022-11-01 09:00:00', '2022-11-01 12:00:00');
[結果]
3

第1パラメータに「hour」をセットしました。ここでは「9時」と「12時」の時間差を比較し、「3」を取得ました。

例3. 分の差を比較するパターン

--分の差を比較する 
SELECT DATEDIFF(minute, '2022-11-01 09:00:00', '2022-11-01 12:00:00'); 
[結果] 
180

第1パラメータに「minute」をセットしました。ここでは「9時00分」と「12時00分」の時間(分)差を比較し「180」を取得しました。

以上、SQLServerでDATEDIFFを使って日付(月、日、時間)の差を比較する方法でした。

コメント