2013-08-17 111 views
-1

我有一个包含我的Oracle数据库中约50,000条记录的表,并且有一个日期列显示了每条记录插入表的日期,例如04- AUG-13。如何找到oracle表中记录的插入时间

有没有什么办法可以找出每个记录插入的时间? 例如:04-Aug-13 4:20:00 PM。 (对于我现有的记录不是未来的记录)

我在互联网上搜索并找到一些结果,但没有一个似乎是实用的。

+0

您尝试过哪些查询? –

回答

3

甲骨文DATE type存储日期的精度为第二,但默认日期格式为DD-MON-RR,这是准确的一天。

要查看时间,请使用TO_CHAR格式化日期。为了让您要找的格式,这样做:

SELECT 
    TO_CHAR(myDate, 'DD-MON-RR HH:MI:SS PM') 
FROM myTable; 

为了显示这种格式的所有日期,而不是诉诸TO_CHAR,更改默认的日期格式:

ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-RR HH:MI:SS PM'; 

日期格式设置将一直有效,直到您将其更改回去或直到您注销为止。

+0

感谢您的回答,但不幸的是,我们没有存储时间和日期,现在我们也需要时间!我们只有日期,如08年8月13日,但没有时间! – Shane

+2

这太糟糕了 - 那么真的没有办法获得信息。如果您使用的是Oracle 10或更高版本,那么会有一个名为'ORA_ROWSCN'的伪列,它会在最后一次更新(更新,未创建)行时返回* guess *(我敢说疯狂猜测)。这通常不准确,但你可以尝试;这是我所能想到的:'SELECT SCN_TO_TIMESTAMP(ORA_ROWSCN)FROM myTable'。如果你非常非常幸运,你会在某些行中获得不错的结果。 –