Sẽ hữu ích nếu bạn cũng cung cấp mytab
sự mô tả. Bởi vì, cột "Ngày" (tên của nó không hợp lệ; nó được dành riêng cho tên kiểu dữ liệu. Tôi đã đổi tên nó thành "Datum") phải là date
kiểu dữ liệu, trong khi có vẻ như bạn sử dụng varchar2
. Trong cả hai trường hợp, bạn sẽ sử dụng hàm thích hợp, được đặt trong dấu ngoặc kép. Tôi đã sử dụng replace
như những gì bạn yêu cầu.
Đây là một ví dụ:
Tệp điều khiển (của bạn không hợp lệ vì nó không tuân theo định dạng dữ liệu; tôi đã sửa nó):
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
Đang tải phiên và kết quả:
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>