从TIMESTAMP(6)列中检索最后几天的数据

时间:2014-04-09 18:47:23

标签: sql oracle

我有一个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

1 个答案:

答案 0 :(得分:1)

我认为这应该可行 - 减去你想要回顾的很多天:

select * from table_name where TRUNC(date_initiated) = TRUNC(SYSDATE-1)
相关问题