这在数据库包中用作延迟传递数据。延迟是2分钟,所以我只需要检索记录在数据库中2分钟或更长时间即可。
这就是我所拥有的:
((SYSDATE - trunc(last_updated))*24*60) > l_delay_mins;
l_delay_mins = 2分钟。
但是,截断会截断时间并将其默认为午夜,完成转换后,它会给出一天的一部分,然后乘以24 * 60(始终大于2),因此记录不会被延迟并在他们到达时立即发送。
答案 0 :(得分:2)
使用INTERVAL
:
where last_updated < systimestamp - (l_delay_mins * interval '1' minute);
这是没有INTERVAL
的同一件事,只是一分钟只是一天的一小部分(与您尝试过的类似):
where last_updated < systimestamp - (l_delay_mins / 24 / 60)
答案 1 :(得分:0)
对以上答案的小修改
使用INTERVAL
:
where last_updated <= systimestamp - (l_delay_mins * interval '1' minute);