我有一個從Oracle數據庫中捕獲的.csv文件。 .csv文件中的日期採用Oracle內部格式(由於我不熟悉Oracle,因此不確定它的名稱)。它看起來像16474
如何在Excel中將Oracle內部日期轉換爲Excel日期?
當我在應用程序中查看該日期時,我們用來訪問數據庫,日期爲2/6/2013
。
然而,當我導入.csv文件導入Excel和格式化列短日期,它顯示的日期2/6/1945
我做了隨機抽樣,它看起來像在月/日總是正確的,但這一年已經過去了68年。我假設這是因爲Oracle的「開始時間」不同於Excel的「開始時間」
有什麼方法可以解決這個問題,以便在將Oracle數據導入Excel時正確顯示日期?
我沒有訪問Oracle端的任何東西..只是.csv文件和Excel。如果有幫助,我也最終將Excel文件導入到Access中。
到目前爲止,我格式化的Oracle日期在Excel作爲短日期,並插入旁邊一列到我的日期列(J)和使用下列內容:
=DATE(YEAR(J1)+68,MONTH(J1),DAY(J1))
我不知道這是100%準確考慮閏年
編輯:我覺得這個代碼可以做到這一點:
Public Sub ReplaceData()
Dim RangeCell As Range
For Each RangeCell In Selection
If IsNumeric(RangeCell.Value) Then
lngDate = CLng(RangeCell.Value)
RangeCell.Value = DateAdd("d", lngDate - 1, "1/1/1968")
End If
Next RangeCell
End Sub
'csv'不是Oracle格式。此外,'Date'數據類型在Oracle中沒有格式:'date'被轉換爲客戶端詢問何時需要顯示/保存到文件的格式。由於您無法更新導出過程,因此這是100%的Excel問題:) –
@VincentMalgrat - 數據由訪問Oracle數據庫的AccuTerm軟件中的「捕獲」功能捕獲。爲了得到它,我運行了2個命令:'SELECT TABLENAME',然後是'LIST.TAB FIELD1 FIELD2' ..在這個過程中,我可以做的任何事情是將'FIELD2'從'16474'轉換爲'2/6/2013' ? –
我不知道這個工具,你可以添加一個函數到你的列嗎?使用['to_char'](http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions200.htm#SQLRF06129)是在Oracle中指定「日期」格式的標準函數。或者,您可以查詢包含'to_char'轉換的視圖。 –