日付を加算・減算する
日付の加算・減算
SQLServerで日付を加算・減算するには2種類の方法があります。
- DATEADDを使う
- プラス(+)マイナス(-)する
日付を足す・引くには「DATEADD」が便利です。「DATEADD」を使うパターンと日付型に直接プラス・マイナスするパターンを紹介します。
DATEADDの構文
DATEADD(型, 加算数, 対象日時)
指定された「型」の加算数で対象日時を加算・減算します。「型」の一覧はこちらです。
型 | 意味 |
year | 年 |
month | 月 |
day | 日 |
hour | 時 |
minute | 分 |
second | 秒 |
例1. 1日足すパターン(DATEADDを使う)
--日時を取得する SELECT GETDATE(); [結果] 2022/11/01 15:05:15 --1日足す SELECT DATEADD(day, 1, GETDATE()); [結果] 2022/11/02 15:05:15
1日足す場合は、「DATEADD」の第一引数に「day」を指定し、第二引数に「1」を指定し、第三引数に「元の日付」を指定します。ここでは「GETDATE」で取得した現在の日付に「DATEADD」を使って1日を足すことができました。
例2. 1日足すパターン(プラスを使う)
--日時を取得する SELECT GETDATE(); [結果] 2022/11/01 15:05:15 --1日足す SELECT GETDATE()+ 1; [結果] 2022/11/02 15:05:15
「DATEADD」以外に日付型に「+ 1」としても加算することができます。ここでは現在日の翌日を取得しました。
例3.1日引くパターン(DATEADDを使う)
--日時を取得する SELECT GETDATE(); [結果] 2022/11/01 15:05:15 --1日引く SELECT DATEADD(day, -1, GETDATE()); [結果] 2022/10/31 15:05:15
DATEADDを使って日付を減算することもできます。第二引数を「マイナスの値」にすれば日付を引き算することができます。
例2.1日引くパターン(マイナスを使う)
--日時を取得する SELECT GETDATE(); [結果] 2022/11/01 15:05:15 --1日引く SELECT GETDATE()- 1; [結果] 2022/10/31 15:05:15
直接マイナスすることで日付を減算することもできます。1日引く場合は、日付型に「-1」とします。ここでは現在日の前日を取得しました。
以上、SQLServerで日付を加算・減算する方法でした。
コメント