SYSDATE - 从最近 2 分钟检索订单的时间戳
SYSDATE - Timestamp to retrieve orders from last 2 minutes
这在数据库包中用作传递数据的延迟。延迟是 2 分钟,所以我只需要检索在数据库中存在 2 分钟或更长时间的记录。
这是我的:
((SYSDATE - trunc(last_updated))*24*60) > l_delay_mins;
l_delay_mins = 在本例中为 2 分钟。
但是,trunc 会截断时间并默认为午夜,当转换完成时,它会给我当天的小数部分,然后乘以 24*60,它总是大于 2,所以记录不是被延迟,一到达就发送。
使用INTERVAL
:
where last_updated < systimestamp - (l_delay_mins * interval '1' minute);
没有 INTERVAL
也是同样的事情,但是一分钟只是一天的一小部分(你试过的那种):
where last_updated < systimestamp - (l_delay_mins / 24 / 60)
对上述答案的小修改
使用INTERVAL
:
where last_updated <= systimestamp - (l_delay_mins * interval '1' minute);
这在数据库包中用作传递数据的延迟。延迟是 2 分钟,所以我只需要检索在数据库中存在 2 分钟或更长时间的记录。
这是我的:
((SYSDATE - trunc(last_updated))*24*60) > l_delay_mins;
l_delay_mins = 在本例中为 2 分钟。
但是,trunc 会截断时间并默认为午夜,当转换完成时,它会给我当天的小数部分,然后乘以 24*60,它总是大于 2,所以记录不是被延迟,一到达就发送。
使用INTERVAL
:
where last_updated < systimestamp - (l_delay_mins * interval '1' minute);
没有 INTERVAL
也是同样的事情,但是一分钟只是一天的一小部分(你试过的那种):
where last_updated < systimestamp - (l_delay_mins / 24 / 60)
对上述答案的小修改
使用INTERVAL
:
where last_updated <= systimestamp - (l_delay_mins * interval '1' minute);