2016-03-17 70 views
1

我想從一個csv文件導入詳細信息,我通過一個表格從BI Publisher查詢創建。在sql developer中導入表格時的日期格式

在查詢中,我有一個日期格式化列:

effective_start_date 

1951-01-01T00:00:00.000+00:00 
1901-01-01T00:00:00.000+00:00 

現在,當我導入整個表格在Excel中。我應該如何導入SQL開發人員的日期格式爲'DD-MON-YYYY'

現在很少有日期的記錄在表格中變爲空值!

而且我targer列格式是在SQL可編輯的屏幕devleoper

+0

你是如何在做進口 - 從數據導入嚮導?日期沒有固有的格式,所以你真的在問如何將你已經存在的字符串轉換成日期。所有值的時間/時區部分是否始終爲「00:00:00.000 + 00:00」? –

+0

Hi @AlexPoole - 從Oracle Fusion通過BI Publisher發佈到csv。 從csv到表通過sql devleoper –

+0

是的,但確切地說,你在SQL Developer中做什麼?嗯,導入嚮導不喜歡你需要的格式,「YYYY-MM-DD」T00:00:00。000 + 00:00「,即使生成的插入有效,也可以獲得」GDK-05021:日期格式無法識別「。是否可以修改CSV文件的創建以只導出YYYY-MM-DD部分對這個時間不感興趣? –

回答

2

甲骨文設置

CREATE TABLE TEST_LOAD (id INT, effective_start_date DATE); 

CSV

ID,EFFECTIVE_START_DATE 
1,1951-01-01T00:00:00.000+00:00 
2,1901-01-01T00:00:00.000+00:00 

導入(SQL開發4.1 .0.19)

  • 在連接面板上,表名右擊並選擇「導入數據...」
  • 瀏覽到CSV文件,然後點擊「下一步>」。
  • 選擇「插入腳本」作爲插入方法,然後單擊「下一步>」。
  • 單擊「下一步>」接受默認選定列。
  • 在列定義中,旁邊會有一個警告三角形,並且會顯示「數據與列定義不兼容...」。將格式更改爲YYYY-MM-DD"T00:00:00.000+00:00",然後單擊「下一步>」
  • 單擊「完成」
  • 這應該彈出一個對話框,顯示「任務成功併發送到工作表」。
  • (可選):在to_date\(('.*?'), '.*?'\)處替換to_date\(('.*?'), '.*?'\),然後選擇正則表達式選項並執行「全部替換」。
  • 運行腳本(按F5)。

輸出

SELECT * FROM TEST_LOAD; 

ID EFFECTIVE_START_DATE 
-- -------------------- 
1 1951-01-01 00:00:00 
2 1901-01-01 00:00:00 

(日期的格式將取決於你的NLS設置。)