oracle 历史 记录 求一个SQL语句查昨天5点时 tbl_a 表中的数据。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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 实测成功: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 T24WHERE MyTime = TRUNC(SYSDATE, 'DD') + 5/24;结果只有一条满足条件。 条件错了一小点,注意更正:WHERE MyTime = TRUNC(SYSDATE, 'DD') -1 + 5/24; tbl_a里面有字段存储时间么?还有一个问题,就是查询昨天5点时候的数据的话,很有可能被更新过了,不可能回到那个时间点,除非你在那个时间点作了备份,或者日志归档开启的话,可以使用LogMiner察看日志从昨天5点到现在数据库有哪些变化,从而还原数据。LogMiner使用:http://topic.csdn.net/t/20040726/17/3211855.html 10G 用flashback9i,你只能看一下你有没有那个时间点的备份 select * from TAB as of timestamp TRUNC(SYSDATE, 'DD') -1 + 17/24 建了一个DML触发器,插入数据的时候触发,操作时报错,求解答。。。 oracle occi createConnection时始终报内存异常 VC下PROC select * from 表名 如果 表名是非常量的话 在11万条数据的表中SELECT数据,如何优化 在已有表中添加*.sql文件中触发器约束问题,急盼回复 高分求解。。。 无法登陆oracle? 为什么我的贴子很少人回复呢,问题解决了,分不够的话可以再加呀!!! 急!!!高分求解!!!IMP-00016: 不支持要求的字符集转换(从类型850到852)问题! 一个困惑的问题! 在查看数据文件时出错 求解释,这个select脚本,
2011-11-27 17:00:00
(
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;
结果只有一条满足条件。
还有一个问题,就是查询昨天5点时候的数据的话,很有可能被更新过了,不可能回到那个时间点,除非你在那个时间点作了备份,或者日志归档开启的话,可以使用LogMiner察看日志从昨天5点到现在数据库有哪些变化,从而还原数据。
LogMiner使用:http://topic.csdn.net/t/20040726/17/3211855.html
as of timestamp TRUNC(SYSDATE, 'DD') -1 + 17/24