時間・分・秒を加算・減算する
Oracleで時間・分・秒を足したり引いたりする加算・減算するには日付を時間・分・秒に変換してプラス・マイナスします。
日付型は「日」で計算します。よって、時間の場合は24で割り、分は1440で割り、秒は86400で割った値をプラス・マイナスします。
- 時間・・・24
- 分・・・1,440(24h×60m)
- 秒・・・86,400(24h×60m×60s)
例1. 現在時刻に1時間足すパターン
--システム日付を取得する SELECT SYSDATE FROM DUAL; [結果] 2017/01/01 05:05:15 --1時間足す SELECT SYSDATE + 1/24 FROM DUAL; [結果] 2017/01/01 06:05:15
例2. 現在時刻から1時間引くパターン
--システム日付を取得する SELECT SYSDATE FROM DUAL; [結果] 2017/01/01 05:05:15 --1時間引く SELECT SYSDATE - 1/24 FROM DUAL; [結果] 2017/01/01 04:05:15
例3. 現在時刻に2分足すパターン
--システム日付を取得する SELECT SYSDATE FROM DUAL; [結果] 2017/01/01 05:00:15 --2分足す SELECT SYSDATE + 2/1440 FROM DUAL; [結果] 2017/01/01 05:02:15
例4. 現在時刻から2分ひくパターン
--システム日付を取得する SELECT SYSDATE FROM DUAL; [結果] 2017/01/01 05:00:15 --2分引く SELECT SYSDATE - 2/1440 FROM DUAL; [結果] 2017/01/01 04:58:15
例5. 現在時刻に3秒足すパターン
--システム日付を取得する SELECT SYSDATE FROM DUAL; [結果] 2017/01/01 05:00:15 --3秒足す SELECT SYSDATE + 3/86400 FROM DUAL; [結果] 2017/01/01 05:00:18
例6. 現在時刻から3秒引くパターン
--システム日付を取得する SELECT SYSDATE FROM DUAL; [結果] 2017/01/01 05:00:15 --3秒引く SELECT SYSDATE - 3/86400 FROM DUAL; [結果] 2017/01/01 05:00:12
以上、Oracleで時間・分・秒を足したり引いたりする加算・減算する方法でした。
コメント
86400 では?
例5の数値が間違っていたので修正しました。ありがとうございました!