示例我的表格包含以下数据:
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...
答案 0 :(得分:1)
这将获得DATEADDED
列之间的所有行(使用服务器时间)和一小时之前。
SELECT *
FROM TBQUANTITY
WHERE dateadded BETWEEN SYSDATE - INTERVAL '1' HOUR AND SYSDATE
答案 1 :(得分:0)
对于一个简单的广告Hoc查询,以查看是否有某些记录使用了{1}},如其他答案所示。
如果您的目标是获取所有记录并仅处理每条记录一次,则应该更加小心。
您可以按小时计划一个查询,选择过去一小时的数据,例如
SYSDATE
请注意,此查询选择上一个完整小时的数据(截断HH ) 例如从12-04-2017 17:00:00到12-04-2017 18:00:00你使用半开的间隔而不是BETWEEN ,它会选择时间戳为一小时的记录两次。