目前,我每隔1小时取一次数据:
create_date >= sysdate -1/24
如果流程在凌晨12点运行,并且日期更改为第二天,那么在Oracle中是否可以获取在前一天晚上11点到12点之间输入的数据。
由于
答案 0 :(得分:0)
如果您没有在午夜运行SQL,那么您可以使用trunc功能来执行您想要的操作:
create_date between trunc(sysdate) - 1/24 and trunc(sysdate)
答案 1 :(得分:0)
如果您每小时运行一次该过程,您将获取前一个小时。例如,如果您在上午12:10运行,您的子句将从前一天的晚上11:10到当天的上午12:10收集所有内容。
如果你必须确保完全掌握一切,我建议你改变你的逻辑。如果你没有,并且你的程序因某些原因没有运行,例如数据库因维护而关闭,你将错过处理一些记录
当您的程序开始时,捕获当前日期/时间并将其存储在表格中。当您的过程运行时,获取该日期并使用该最后一个值作为起始值:
create_date between last_date and procedure_start_date