ORACLE查询检查记录是否存在-每小时

ORACLE查询检查记录是否存在-每小时,oracle,date-arithmetic,Oracle,Date Arithmetic,示例我有一个包含以下数据的表: FORMID | QUANTITY | DATEADDED 1 | 150 | 4/12/2017 2:33:27 PM 2 | 100 | 4/12/2017 3:15:10 PM 我希望查询根据当前时间检查数据是否存在 范例 Current time: 18:00 因此,当查询检查数据时,它应该没有数据,因为我们看到最后一个数据是在下午3:15:10,而当前时间是18:00(2个多小时前) 我不知道怎么做 SELEC

示例我有一个包含以下数据的表:

FORMID | QUANTITY | DATEADDED
1      | 150      | 4/12/2017 2:33:27 PM
2      | 100      | 4/12/2017 3:15:10 PM
我希望查询根据当前时间检查数据是否存在

范例

Current time: 18:00
因此,当查询检查数据时,它应该没有数据,因为我们看到最后一个数据是在下午3:15:10,而当前时间是18:00(2个多小时前)

我不知道怎么做

SELECT * FROM TBQUANTITY WHERE...

这将获取
DATEADDED
列位于现在(使用服务器时间)和一小时前之间的所有行

SELECT *
FROM   TBQUANTITY
WHERE  dateadded BETWEEN SYSDATE - INTERVAL '1' HOUR AND SYSDATE

要查看是否有一些记录,请使用另一个答案中建议的
SYSDATE

如果您的目标是获取所有记录并只处理一次每个记录,那么应该更加小心

您可以每小时安排一次查询,选择上一小时的数据,例如

 select * from T where DATEADDED >  trunc(sysdate,'HH') -1/24 
     and DATEADDED <= trunc(sysdate,'HH')
select*from T where DATEADDED>trunc(sysdate,'HH')-1/24

并且添加了日期,因此您需要18:00:00和18:59:59之间的数据?如果最后一个日期是2017年12月4日下午3:15:10,而当前时间是2017年12月4日下午4:15:10,那么该行是否应返回?