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

Oracleの時間・分・秒の加算・減算について。

この記事の内容はコチラです

  • 時間・分・秒を計算する
  • 時間・分・秒の書き方がわからない

今回は、Oracleの時間・分・秒の加算・減算について紹介します!

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

日付型の計算は「日」が基準

Oracleで時間・分・秒は日付型です。この日付型を加算・減算するには、時間・分・秒を日に変換してプラス・マイナスします。

日付型は「日」を基準にして計算します。「時間」「分」「秒」は全て「日」に変換する必要があります。

  • 1時間・・・1/24
  • 1分・・・1/1,440 (24h×60m)
  • 1秒・・・1/86,400 (24h×60m×60s)

時間の場合は24で割り、分は1440で割り、秒は86400で割った値をプラス・マイナスします。

例1. 現在時刻に1時間足すパターン

--システム日付を取得する
SELECT SYSDATE FROM DUAL;
[結果] 2022/09/01 05:05:15

--1時間足す
SELECT SYSDATE + 1/24 FROM DUAL;
[結果] 2022/09/01 06:05:15

例2. 現在時刻から1時間引くパターン

--システム日付を取得する
SELECT SYSDATE FROM DUAL;
[結果] 2022/09/01 05:05:15

--1時間引く
SELECT SYSDATE - 1/24 FROM DUAL;
[結果] 2022/09/01 04:05:15

例3. 現在時刻に2分足すパターン

--システム日付を取得する
SELECT SYSDATE FROM DUAL;
[結果] 2022/09/01 05:00:15

--2分足す
SELECT SYSDATE + 2/1440 FROM DUAL;
[結果] 2022/09/01 05:02:15

例4. 現在時刻から2分ひくパターン

--システム日付を取得する
SELECT SYSDATE FROM DUAL;
[結果] 2022/09/01 05:00:15

--2分引く
SELECT SYSDATE - 2/1440 FROM DUAL;
[結果] 2022/09/01 04:58:15

例5. 現在時刻に3秒足すパターン

--システム日付を取得する
SELECT SYSDATE FROM DUAL;
[結果] 2022/09/01 05:00:15

--3秒足す
SELECT SYSDATE + 3/86400 FROM DUAL;
[結果] 2022/09/01 05:00:18

例6. 現在時刻から3秒引くパターン

--システム日付を取得する
SELECT SYSDATE FROM DUAL;
[結果] 2022/09/01 05:00:15

--3秒引く
SELECT SYSDATE - 3/86400 FROM DUAL;
[結果] 2022/09/01 05:00:12

以上、Oracleで時間・分・秒を足したり引いたりする加算・減算する方法でした。

コメント

  1. k より:

    86400 では?

    • Oracleマスター より:

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