web-dev-qa-db-ja.com

Oracleが日と分を差し引く

Sysdateから「X」日と「X」分を減算します。日と分は入力パラメーターとして整数です。たとえば、1日および5分です。

数分または数時間を差し引く多くの例を見つけましたが、日数と分を組み合わせたものではありませんでした。

select sysdate - 5 / 24 / 60 from dual -- will retrieve sysdate minus 5 minutes. 
--What about the days?

ありがとうございました!

6
Carlos

インターバルリテラル を使用します。

SELECT SYSDATE - INTERVAL '10 00:05' DAY(2) TO MINUTE
FROM   DUAL

または:

SELECT SYSDATE - INTERVAL '10' DAY - INTERVAL '5' MINUTE
FROM   DUAL

または単に算術を使用します:

SELECT SYSDATE - 10 /* Days */ - 5 / 24 /60 /* Minutes */
FROM   DUAL

または NUMTODSINTERVAL を使用します:

SELECT SYSDATE - NUMTODSINTERVAL( 10, 'DAY' ) - NUMTODSINTERVAL( 5, 'MINUTE' )
FROM   DUAL
15
MT0

日から分までの間隔を使用できます- http://docs.Oracle.com/cd/B19306_01/server.102/b14200/sql_elements003.htm#i38598

select sysdate - interval '1 00:05' day to minute from dual
1
Gurwinder Singh