1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Oracleで日付型に対して加算減算(n日、n時間、n分、n秒)

Last updated at Posted at 2023-08-13

記事の最後にもっと直感的で分かりやすい書き方の例もあります。

n日

単純に+または-でOK。

現在時刻から1日後を取得
SYSDATE + 1

『2023/08/13 17:13:09』に実行した場合、上記の結果は『2023/08/14 17:13:09』。

計算対象の値(カラム)が日付型になっていなければ例外

例えば下記は『ORA-01722: 数値が無効です。』の例外になります。

'2023/01/01 00:00:00' + 1

n時間

1時間後は『1日後』の応用。
1日は24時間だから加算減算する値を÷24。

現在時刻から1時間後を取得
SYSDATE + (1/24)

n分

1440 = 24時間×60分。
1日は1440分。

現在時刻から1分後を取得
SYSDATE + (1/1440)

n秒

86400 = 24時間×60分×60秒。
1日は86400秒。

現在時刻から1秒後を取得
SYSDATE + (1/86400)

もっと分かりやすい書き方

わざわざ秒に変換しなくても〇時間後や〇分後などを取得できます。

コメントで教えてもらいました。感謝です!

SELECT 
SYSDATE, 
SYSDATE - INTERVAL '1' HOUR FROM DUAL
-- 1時間前
SELECT 
SYSDATE, 
SYSDATE + INTERVAL '2' MINUTE FROM DUAL
-- 2分後
SELECT 
SYSDATE, 
SYSDATE - INTERVAL '3' SECOND FROM DUAL
-- 3秒前

参考サイトさん

バージョン

Oracle Database 11g Release 11.2.0.1.0 - 64bit Production

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?