DATEADD(時間・分・秒を加算・減算する)
SQLServerで時間・分・秒を足したり引いたりする加算・減算するには「DATEADD」を使います。
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を使って時間・分・秒を足す・引く加算・減算する方法でした。
コメント