我需要加載一個包含日期「20140825145416」的.csv文件的表格。
我試過在我的控制文件中使用(DT日期「yyyymmdd hh24:mm:ss」)。
它會拋出一個錯誤爲ORA-01821:日期格式無法識別如何使用日期格式爲yyyymmddhhmmss的SQLLDR加載文件?
我要求表中的數據爲「MM/DD/YYYY HH:MM:SS」。
樣品數據:20140825145416
在此先感謝。
DT DATE "YYYYMMDDHH24MISS"
格式:
我需要加載一個包含日期「20140825145416」的.csv文件的表格。
我試過在我的控制文件中使用(DT日期「yyyymmdd hh24:mm:ss」)。
它會拋出一個錯誤爲ORA-01821:日期格式無法識別如何使用日期格式爲yyyymmddhhmmss的SQLLDR加載文件?
我要求表中的數據爲「MM/DD/YYYY HH:MM:SS」。
樣品數據:20140825145416
在此先感謝。
DT DATE "YYYYMMDDHH24MISS"
格式:
好吧,如果我不指出,正確的答案是永遠不會存儲日期爲VARCHAR2數據,但要適當DATE列,並加載它像這樣我將是失職在選擇時完成。如果你需要在計算中使用這個日期,它會讓你的生活變得如此簡單。
說出來的方式,如果你對數據庫沒有控制權,必須把它存儲爲一個VARCHAR2,轉換到一個日期,然後使用TO_CHAR插入之前先對其進行格式化:
DT CHAR "to_char(to_date(:DT, 'YYYYMMDDHH24MISS'), 'MM/DD/YYYY HH24:MI:SS')"
注'MI'用於分鐘。你有一個錯字,你再次使用「MM」(幾個月)幾分鐘。
我知道它已經在前面的答案中說過了,但它非常重要,值得重複。不要將日期存儲爲varchars!
如果你的DT列是時間戳,然後這可能工作
DT CHAR(25) date_format TIMESTAMP mask "yyyymmddhhmiss"
我以前在外部表是這樣的。也許這可以幫助 https://docs.oracle.com/cd/B19306_01/server.102/b14215/et_concepts.htm 和 https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:8128892010789
我們有一個傢伙誰喜歡存儲日期數字。革命來臨時,他將成爲第一個抵擋牆壁的人...... –