2013-05-28 56 views
0

由於Date只使用精度高達秒,我們需要使用時間戳以獲得更高精度(最高達毫秒)。Oracle日期列按順序返回結果,但需要看到毫秒

我運行查詢並按照create_date字段的降序進行排序,該字段按照事務執行的順序以正確的順序返回結果。

按照該順序具有不同事務代碼(TRN,DII,DRD)的3個結果都顯示相同的create_date值(例如:28-MAY-13 12.09.45)。

我無法看到毫秒,但DRD是在TRN之前幾毫秒創建的DII之前創建的毫秒。

因此,它確實捕捉創建時間高達毫秒,並以正確的順序顯示,但我怎麼能看到這一次? 我想:

to_timestamp(create_date, 'DD.MM.YYYY HH24:MI:SSFF3') 

但毫秒部分仍顯示爲0。

+0

重複http://stackoverflow.com/questions/2343708/oracle-fetch-date-time-in-milliseconds-from-date-datatype-field –

+0

根據[Oracle 11.1文檔](http:// docs .oracle.com/cd/B28359_01/server.111/b28286/sql_elements001.htm#autoId12)'對於每個DATE值,Oracle存儲以下信息:世紀,年,月,日,時,分和秒。他們沒有列出毫秒。 –

+0

道歉 - 只是意識到你正在使用TIMESTAMP數據類型。 –

回答

1

您的created_date字段應該是TIMESTAMP類型。當插入此列時,使用systimestamp而不是sysdate來存儲毫秒。

相關問題