【发布时间】:2020-02-01 18:09:08
【问题描述】:
在 BIRT 报告(自动执行 10 分钟查询 - 24x7)中,我想报告数据类型为“时间戳”的数据,我使用查询从 oracle 数据库中的表中导入这些数据。假设我有一个名为“table 1”的表。表 1 包含名为“column1”的数据类型时间戳的列。 column1 中的数据来自连续运行(24x7 - 365 天)的机器。
每天在报告中,我只想显示 24 小时数据,即 05:30:00(今天)和 05:30:00(第二天)之间。
SELECT column1 from table 1
WHERE coulmn1 = SYSDATE - INTERVAL '24' hour;
提取过去24小时或几天或几个月的数据很容易,但是如何在where语句中定义一个逻辑,以实际系统时间为参考,提供05:30(现在)和05:30之间的数据(次日)。
例如: 在 01:00:00(或凌晨 1 点)自动执行查询应该显示从前一天(05:30:00)到现在(01:00:00)的数据
08:00:00(或上午 8 点)自动执行查询应显示当天(05:30:00 至 08:00:00)的数据。
任何关于如何在 where 语句中定义逻辑的帮助将不胜感激。
【问题讨论】:
标签: sql oracle date datetime birt