Oracleで時間・分・秒を加算・減算する

時間・分・秒を加算・減算する

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で時間・分・秒を足したり引いたりする加算・減算する方法でした。

コメント

  1. k より:

    86400 では?

    • Oracleマスター より:

      例5の数値が間違っていたので修正しました。ありがとうございました!

タイトルとURLをコピーしました