Oracle减去天数和分钟数

标签 oracle sysdate

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

我发现许多示例都减去了几分钟或几小时,而不是几天和几分钟的总和。

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

谢谢!

最佳答案

使用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

关于Oracle减去天数和分钟数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43910819/

相关文章:

c# - asp.net Oracle 调整线程休眠

oracle全局临时表

Oracle 存储过程删除用户

mysql - 使用 sysdate 时出现 SQL 语法错误

sql - 检查当前日期是否在两个日期之间 Oracle SQL

oracle - 在 HIVE 查询中获取上个月的最后一天

oracle - PLSQL绑定(bind)变量和主机变量有什么区别

oracle - 将 sysdate 附加到 Oracle 中的表名

sql - 如何修复 Oracle 中 SQL 中的 "ORA-01801: date format is too long for internal buffer"错误

oracle - 保存Grails域对象时如何选择oracle current_timestamp