2013-08-17 143 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'。如果你非常非常幸運,你會在某些行中獲得不錯的結果。 –