2017-01-27 87 views
0

我需要加載一個包含日期「20140825145416」的.csv文件的表格。
我試過在我的控制文件中使用(DT日期「yyyymmdd hh24:mm:ss」)。
它會拋出一個錯誤爲ORA-01821:日期格式無法識別如何使用日期格式爲yyyymmddhhmmss的SQLLDR加載文件?

我要求表中的數據爲「MM/DD/YYYY HH:MM:SS」。
樣品數據:20140825145416

在此先感謝。

DT DATE "YYYYMMDDHH24MISS" 

格式:

回答

3

好吧,如果我不指出,正確的答案是永遠不會存儲日期爲VARCHAR2數據,但要適當DATE列,並加載它像這樣我將是失職在選擇時完成。如果你需要在計算中使用這個日期,它會讓你的生活變得如此簡單。

說出來的方式,如果你對數據庫沒有控制權,必須把它存儲爲一個VARCHAR2,轉換到一個日期,然後使用TO_CHAR插入之前先對其進行格式化:

DT CHAR "to_char(to_date(:DT, 'YYYYMMDDHH24MISS'), 'MM/DD/YYYY HH24:MI:SS')" 

注'MI'用於分鐘。你有一個錯字,你再次使用「MM」(幾個月)幾分鐘。

1

我知道它已經在前面的答案中說過了,但它非常重要,值得重複。不要將日期存儲爲varchars!

+1

我們有一個傢伙誰喜歡存儲日期數字。革命來臨時,他將成爲第一個抵擋牆壁的人...... –