我有一个oracle TIMESTAMP(6)专栏(11g),我试图在各种查询中使用它来获取最后一天,最后一小时......等数据。当我运行下面它返回所有数据。我希望它不会返回任何数据,因为data_initiated列不应该大于当前系统时间。
从table_name中选择*,其中date_initiated> SYSTIMESTAMP按date_initiated desc命令
返回:
2014-04-09 18:35:55.414000
2014-04-09 18:20:30.020000
2014-04-09 18:19:29.052000
2014-04-09 18:19:03.461000
2014-04-09 18:12:25.231000
2014-04-09 17:40:57.262000
2014-04-09 17:10:47.058000
2014-04-09 16:12:57.509000
2014-04-09 16:09:28.769000
2014-04-09 16:08:02.386000
2014-04-09 15:20:48.896000
2014-04-09 14:32:10.713000
选择TO_CHAR (SYSDATE,'MM-DD-YYYY HH24:MI:SS')“现在” 来自双重;
返回:
04-09-2014 18:45:49
答案 0 :(得分:1)
我认为这应该可行 - 减去你想要回顾的很多天:
select * from table_name where TRUNC(date_initiated) = TRUNC(SYSDATE-1)