Oracle减去日期和分钟

Car*_*los 6 oracle sysdate

我想从sysdate中减去"X"天和"X"分钟,其中days和minutes是一个整数作为输入参数.例如,105分钟.

我发现很多例子可以减去分钟或小时,但不是几天和几分钟的组合.

select sysdate - 5 / 24 / 60 from dual -- will retrieve sysdate minus 5 minutes. 
--What about the days?
Run Code Online (Sandbox Code Playgroud)

谢谢!

MT0*_*MT0 13

使用区间文字:

SELECT SYSDATE - INTERVAL '10 00:05' DAY(2) TO MINUTE
FROM   DUAL
Run Code Online (Sandbox Code Playgroud)

要么:

SELECT SYSDATE - INTERVAL '10' DAY - INTERVAL '5' MINUTE
FROM   DUAL
Run Code Online (Sandbox Code Playgroud)

或者只是使用算术:

SELECT SYSDATE - 10 /* Days */ - 5 / 24 /60 /* Minutes */
FROM   DUAL
Run Code Online (Sandbox Code Playgroud)

或使用NUMTODSINTERVAL:

SELECT SYSDATE - NUMTODSINTERVAL( 10, 'DAY' ) - NUMTODSINTERVAL( 5, 'MINUTE' )
FROM   DUAL
Run Code Online (Sandbox Code Playgroud)