SQL ServerのDATEADD 時間・分・秒を加算・減算する

DATEADD(時間・分・秒を加算・減算する)

SQLServerで時間・分・秒を足したり引いたりする加算・減算するには「DATEADD」を使います。

参照:DATEADD (Transact-SQL)

DATEADD(日付型, 加算数, 対象日時)

  • 指定された日付型の加算数で対象日時を加算・減算します。

<日付型>

種類 日付型 日付型(略)
YEAR YYYY/YY
MONTH MM
DAY DD
時間 HOUR HH
MINUTE MI
SECOND SS

 

例1. 現在時刻に3時間足すパターン

--システム日付を取得する
SELECT GETDATE();
[結果] 2017/01/01 05:05:15

--3時間足す
SELECT DATEADD(HOUR, 3, GETDATE());
[結果] 2017/01/01 08:05:15

第1パラメータに「HOUR」、第2パラメータに「3」をセットしました。現在時刻に3時間足しました。

例2. 現在時刻から3時間引くパターン

--システム日付を取得する
SELECT GETDATE();
[結果] 2017/01/01 05:05:15

--3時間引く
SELECT DATEADD(HOUR, -3, GETDATE());
[結果] 2017/01/01 02:05:15

第1パラメータに「HOUR」、第2パラメータに「-3」をセットしました。現在時刻から3時間引きました。

例3. 現在時刻に10分足すパターン

--システム日付を取得する
SELECT GETDATE();
[結果] 2017/01/01 05:00:15

--10分足す
SELECT DATEADD(MINUTE, 10, GETDATE());
[結果] 2017/01/01 05:10:15

第1パラメータに「MINUTE」、第2パラメータに「10」をセットしました。現在時刻に10分足しました。

例4. 現在時刻から10分ひくパターン

--システム日付を取得する
SELECT GETDATE();
[結果] 2017/01/01 05:00:15

--10分引く
SELECT DATEADD(MINUTE, -10, GETDATE());
[結果] 2017/01/01 04:50:15

第1パラメータに「MINUTE」、第2パラメータに「-10」をセットしました。現在時刻から10分引きました。

例5. 現在時刻に5秒足すパターン

--システム日付を取得する
SELECT GETDATE();
[結果] 2017/01/01 05:00:15

--5秒足す
SELECT DATEADD(SECOND, 5, GETDATE());
[結果] 2017/01/01 05:00:20

第1パラメータに「SECOND」、第2パラメータに「5」をセットしました。現在時刻に5秒足しました。

例6. 現在時刻から5秒引くパターン

--システム日付を取得する
SELECT GETDATE();
[結果] 2017/01/01 05:00:15

--5秒引く
SELECT DATEADD(SECOND, -5, GETDATE());
[結果] 2017/01/01 05:00:10

第1パラメータに「SECOND」、第2パラメータに「-5」をセットしました。現在時刻から5秒引きました。

 

以上、SQLServerでDATEADDを使って時間・分・秒を足す・引く加算・減算する方法でした。

コメント