2016-09-22 51 views
0

我有一個文本文件,它包含一列作爲「NPA_DATE」,其中幾行包含日期爲「00-00- 000" 。如何從文本文件插入數據,其中日期列在日期爲「00-00-0000」

我無法加載日期爲「00-00-0000」格式的數據。我將錯誤記錄爲「記錄1:被拒絕 - 表MIS_PNPA上的錯誤,列NPA_DATE。ORA-01847:月中的某天必須在月和1的最後一天之間」。不過,我想將NPA_DATE中的數據與其他數據一起加載爲「00-00-0000」。所有其他行都在數據庫中上傳。我用蟾蜍爲Oracle 9.0.1.8

+0

00是無效的日期和月份。你爲什麼不用空或者[最小日期]替換「00-00-0000」(https://stackoverflow.com/questions/687510/how-do-you-obtain-the-maximum-possible-date-in -oracle) – Knu8

+0

感謝您的及時回覆Knu8,但是請讓我知道如何在控制文件(.ctl)中用null替換日期「00-00-0000」,因爲它是一個每日過程來截斷表並插入新在表/更新的數據我CTL文件 LOAD DATA INTO TABLE mis_pnpa TERMINATED BY 領域。 '|' TRAILING NULLCOLS (sr_no,branch_code,account_no,name1,acct_type,int_cat,product_name,appv_amt,adv_amt,theo_bal,out_amt,srf_amt,security_amt,欠費,inca,uipy,act_outstand,npa_date日期'DD-MM-YYYY',old_irac, new_irac,arrear_cond,sys,proc_date date'DD/MM/YYYY') –

+0

爲什麼不在文本文件中用空值代替「00-00-0000」。 – Knu8

回答

0

你應該sqlplus的標籤添加到您的原職,因爲這確實是一個問題的SQLPlus。

無論如何改變你的控制文件到這個設定日期爲NULL,如果它有作爲'00 -00-0000' 數據文件:

... 
npa_date date "DD-MM-YYYY" NULLIF (npa_date="00-00-0000") 
... 
相關問題