Oracle减去日期和分钟

时间:2017-05-11 08:54:15

标签: oracle sysdate

我想从sysdate中减去“X”天和“X”分钟,其中days和minutes是一个整数作为输入参数。例如, 10 天和 5 分钟。

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

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

谢谢!

2 个答案:

答案 0 :(得分:10)

使用interval literal

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

答案 1 :(得分:1)

您可以使用Interval day to minute - 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