+ -
当前位置:首页 → 问答吧 → oracle 历史 记录

oracle 历史 记录

时间:2011-11-28

来源:互联网

求一个SQL语句

查昨天5点时 tbl_a 表中的数据。

作者: easyroom   发布时间: 2011-11-28

SQL code
SELECT to_date(to_char(trunc(SYSDATE,'dd')-1,'yyyy-mm-dd')||' 17:00:00','yyyy-mm-dd hh24:mi:ss') last_day FROM dual

--result:
2011-11-27 17:00:00


作者: cosio   发布时间: 2011-11-28

实测成功:
SQL code

CREATE TABLE T24
(
    MyTime DATE
);

INSERT INTO T24 VALUES(to_date('2011-11-27 04:00:00', 'YYYY-MM-DD HH24:MI:SS'));
INSERT INTO T24 VALUES(to_date('2011-11-27 05:00:00', 'YYYY-MM-DD HH24:MI:SS'));
INSERT INTO T24 VALUES(to_date('2011-11-27 17:00:00', 'YYYY-MM-DD HH24:MI:SS'));
INSERT INTO T24 VALUES(to_date('2011-11-27 17:20:00', 'YYYY-MM-DD HH24:MI:SS'));
INSERT INTO T24 VALUES(to_date('2011-11-28 04:00:00', 'YYYY-MM-DD HH24:MI:SS'));
INSERT INTO T24 VALUES(to_date('2011-11-28 05:00:00', 'YYYY-MM-DD HH24:MI:SS'));
INSERT INTO T24 VALUES(to_date('2011-11-28 17:00:00', 'YYYY-MM-DD HH24:MI:SS'));

SELECT MyTime FROM T24
WHERE MyTime = TRUNC(SYSDATE, 'DD') + 5/24;



结果只有一条满足条件。

作者: LuiseRADL   发布时间: 2011-11-28

条件错了一小点,注意更正:
SQL code

WHERE MyTime = TRUNC(SYSDATE, 'DD') -1 + 5/24;

作者: LuiseRADL   发布时间: 2011-11-28

不是用某个时间做过滤条件,是在那个时间点数据库中的数据。

查到的结果就像是回到那个时间去查询一样。

作者: easyroom   发布时间: 2011-11-28