यदि आप mytab
. भी प्रदान करते हैं तो इससे मदद मिलेगी विवरण। क्योंकि, "दिनांक" कॉलम (जिसका नाम अमान्य है; यह डेटाटाइप नाम के लिए आरक्षित है। मैंने इसका नाम बदलकर "डेटाम" कर दिया है) date
का होना चाहिए डेटाटाइप, जबकि ऐसा लगता है कि आप varchar2
. का उपयोग करते हैं . किसी भी मामले में, आप दोहरे उद्धरण चिह्नों में संलग्न उपयुक्त फ़ंक्शन का उपयोग करेंगे। मैंने replace
. का उपयोग किया है जैसा कि यह वही करता है जो आपने मांगा था।
यहां एक उदाहरण दिया गया है:
नियंत्रण फ़ाइल (आपकी अमान्य है क्योंकि यह डेटा प्रारूप का पालन नहीं करती है; मैंने इसे ठीक कर दिया है):
load data
infile *
truncate into table Mytab
fields
trailing nullcols
(Name position(1:4),
Acc position(6:9),
Status position(11:14),
Amt position(16:19),
type position(21:24),
Datum position(26:35) "replace(:datum, '/', '-')"
)
begindata
bbbb 1000 Open 1000 Dep 12/03/2010
dddd 1001 Open 2000 Loan 13/01/2019
eeee 1003 Dor 3000 Dep 11/04/1965
सत्र और परिणाम लोड हो रहा है:
SQL> $sqlldr scott/[email protected] control=test34.ctl log=test34.log
SQL*Loader: Release 11.2.0.1.0 - Production on Sri O×u 24 07:54:46 2021
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Commit point reached - logical record count 3
SQL> select * from mytab;
NAME ACC STATUS AMT TYPE DATUM
---------- ---------- ---------- ---------- ---------- ----------
bbbb 1000 Open 1000 Dep 12-03-2010
dddd 1001 Open 2000 Loan 13-01-2019
eeee 1003 Dor 3000 Dep 11-04-1965
SQL>