1、D_TDATE GDK-05030: 日期格式模式在轉換整個輸入字符串之前結束。 CREATEDATE GDK-05043: 無效的月份
報錯sql通常爲insert into 表 value (...,to_date(“09/01/2018”),....)
而且to_date對應的日期格式與excle裏的格式大不相同,比如如下格式
這是因爲oracle有個默認識別時間的格式
1、查詢oracle當前會話日期格式:(eg,sqldevelper客戶端,每次啓動鏈接,會話格式都會默認。需要重新設置一下)
select value from nls_session_parameters where parameter='NLS_DATE_FORMAT';
默認格式:DD-MON-RR
我們需要把格式進行更改爲我們上面的格式
2、轉換oracle的日期格式:
alter session set nls_date_format = 'YYYY/MM/DD HH24:MI:SS';
3、另外我們還需要對excle的格式進行處理
3.1把日期的列使用 =TEXT(AZ5,"yyyy/mm/dd hh:mm:ss")複製出來爲一個新列
3.2對新列複製到後面一列,右擊選擇性粘貼,採用取數值粘貼,刪除前面兩列數據
4、導入數據。
5、如果導入還是存在to_date報錯的問題,即數據庫列爲date類型,導進去的sql在進行to_date的時候沒有進行格式,所以無法導入
這裏可以複製新表create table newTable as select * from Table,把newTable的date格式改成字符串格式(varchar2/varchar)
導入數據到新表newTable ,然後再複製新表數據到目標表insert into Table select * from newTable