Oracle减去天数和分钟数

9

我希望能够从sysdate中减去“X”天和“X”分钟,其中天数和分钟数是输入参数。例如,10天和5分钟。

我发现许多示例只能减去分钟或小时,而不能组合减去天数和分钟数。

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

谢谢您!
2个回答

22

使用时间间隔字面量

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接