oracle - 查询特定时间
问题描述
如何将 2 天前晚上 11:00:00 的数据返回到昨天晚上 11:59:59 结束的所有数据?
我目前只有昨天的日期查询:
SELECT *
FROM table
WHERE code = '00'
AND to_char(RQST_TMSTMP, 'yyyy-mm-dd') = to_char(sysdate-1, 'yyyy-mm-dd')
解决方案
怎么样
select *
from table
where code = '00'
and rqst_tmstmp >= trunc(sysdate - 2) + 11/24
and rqst_tmstmp <= trunc(sysdate);
以下是所有这些TRUNC
s 所代表的内容(以便您可以了解正在发生的事情):
SQL> select sysdate, -- today, right now
2 trunc(sysdate) ts, -- today at midnight
3 trunc(sysdate - 2) ts_2, -- 2 days ago at midnight
4 trunc(sysdate - 2) + 11/24 ts_2_11 -- 2 days ago at midnight + 11 hours
5 from dual;
SYSDATE TS TS_2 TS_2_11
---------------- ---------------- ---------------- ----------------
29.11.2018 17:07 29.11.2018 00:00 27.11.2018 00:00 27.11.2018 11:00
SQL>
推荐阅读
- powershell - “-split” - 从“-stream”输出?
- glassfish-4 - 启动 GlassFish 4.0 时无法找到或加载主类 Files.Microsoft
- oracle - 计算两个字段之间的日期
- mysql - 在 MySQL 中转换日期
- android - 我可以根据我的应用主题为我的应用中的所有 AppBarLayout 设置样式吗?
- sql-server - 尝试在 SSAS 多维数据集中使用连接,但它们似乎不起作用
- javascript - 在 javascript + D3/mapbox 中可视化大量数据的高效/高性能方式
- java - 为什么bucket4j中的计算先乘然后除?
- crystal-lang - 将动态类型传递到管道容器中
- javascript - 为什么当我在 Apache 上运行我的 react 构建时...只是出现空白页..?