如何在Oracle中将to_char转换为datetime格式

时间:2015-02-17 17:22:08

标签: oracle

我正在尝试从oracle表中检索最近5分钟的数据:

SELECT to_char(a.collection_timestamp, 'dd-mm-yyyy HH:MM:SS') collection_timestamp
  FROM table_name
 WHERE collection_timestamp > SYSDATE - 5 / 1440

我得到的结果早于5分钟前。我是否必须将COLLECTION_TIMESTAMP转换为oracle datetime?怎么样?

select sysdate from dual

17-FEB-15

Desc <table name>
COLLECTION_TIMESTAMP  DATE

这是我执行该查询时得到的结果:

17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:33
17-02-2015 12:02:29
17-02-2015 12:02:24
17-02-2015 12:02:24
17-02-2015 12:02:24
17-02-2015 12:02:24
17-02-2015 12:02:24
17-02-2015 12:02:24
17-02-2015 12:02:41
17-02-2015 12:02:07
17-02-2015 12:02:29
17-02-2015 12:02:17
17-02-2015 12:02:17
17-02-2015 12:02:17
17-02-2015 12:02:17

当前时间是12:43

1 个答案:

答案 0 :(得分:4)

您使用的格式为:'dd-mm-yyyy HH:MM:SS'

将其更改为:'dd-mm-yyyy HH:MI:SS'

您的where子句将数据限制为最近五分钟,但您将日期时间的分钟部分显示为月份编号。