如何从Oracle数据库中查询昨天下午17:00到今天下午17:00的时间范围内的数据?
时间: 2024-10-25 09:09:45 浏览: 23
在Oracle数据库中,你可以使用`BETWEEN`关键字和`CURRENT_DATE`函数结合来查询指定时间段的数据。假设你的表名为`your_table`,需要查询的字段为`timestamp_column`(时间戳列),你可以使用以下SQL查询:
```sql
SELECT * FROM your_table
WHERE timestamp_column BETWEEN TRUNC(SYSDATE, 'DD') - 1 AND TRUNC(SYSDATE, 'DD')
AND timestamp_column BETWEEN ADD_MONTHS(TRUNC(SYSDAY(SYSDATE), 'HH24'), -1) AND TRUNC(SYSDAY(SYSDATE))
```
这里解释一下:
- `TRUNC(SYSDATE, 'DD')`返回当前日期(去掉时间部分)。
- `- 1`表示昨天的日期。
- `ADD_MONTHS()`用于加上一个月并减去一天,得到昨天下午17:00的时间。
- `SYSDAY(SYSDATE)`获取当前日期的天数,再乘以24小时得到前一天的总小时数,然后加17小时得到昨天下午17:00。
- `AND`后面的条件是为了确保时间也在下午17:00到今天的下午17:00之间。
请注意,实际执行这个查询时,你需要将`your_table`和`timestamp_column`替换为你实际的数据表名和时间戳列名。如果你的时间戳是以另一种形式存储的,如分钟、秒等,可能需要调整比较的部分。
阅读全文