查询特定时间

时间:2018-11-29 15:55:10

标签: oracle

我如何返回2天前的11:00:00 PM到结束于11:59:59 PM的所有昨天的数据?

我目前只有昨天的日期查询:

SELECT *
FROM table
WHERE code = '00'
AND to_char(RQST_TMSTMP, 'yyyy-mm-dd') = to_char(sysdate-1, 'yyyy-mm-dd')

2 个答案:

答案 0 :(得分:1)

怎么样

select *
from table
where code = '00'
  and rqst_tmstmp >= trunc(sysdate - 2) + 11/24
  and rqst_tmstmp <= trunc(sysdate);

这是所有TRUNC所代表的内容(以便您可以跟踪发生的事情):

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>

答案 1 :(得分:0)

如果该列正在捕获小时和分钟,请使用, TO_CHAR(RQST_TMSTMP,'DD-MM-YY HH24:MI')