SQL ServerのSQLで日付、時刻の加算や減算をするコードを紹介します。
概要
SQL ServerのSQLで日付、時刻の加算や減算をするには、DATEADD() 関数を利用します。
書式
DATEADD([加算、減算の単位], [加算、減算数], [元の日付の値])
加算、減算の単位には次の値が設定できます。
値 | 意味 |
year | 年 |
quarter | 3カ月 (Q) |
month | 月 |
dayofyear | 日 |
day | 日 |
week | 週 |
weekday | 日 |
hour | 時 |
minute | 分 |
second | 秒 |
millisecond | ミリ秒 |
microsecond | マイクロ秒 |
nanosecond | ナノ秒 |
加算、減算数に制の値を与えると加算、負の値を与えると減算になります。
元の日付の値には、加算、減算をする元の日付、時刻の値を与えます。
実行例
例1
select DATEADD(day, -5, '2024-06-10')
2024-06-05 00:00:00.000
例2
select DATEADD(year, 2, '2024-08-20')
2026-08-20 00:00:00.000
例3
select DATEADD(minute, 8, '1990-05-15 20:30:45')
1990-05-15 20:38:45.000
例4
現在時刻に対して減算する例です。
select DATEADD(day, -7, GETDATE())
例5
現在時刻に対して減算する例です。dateフィールドが現在日時の7日前より大きい(直近の)レコードを取得します。
select * from MyTable where DATEADD(day, -7,GETDATE()) < date
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2023-12-03
作成日: 2023-12-03