Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách thay thế các giá trị sqlldr

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>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bạn có thể sử dụng các tham số được đặt tên trong Laravel Eloquent không

  2. Oracle 10g:Trích xuất dữ liệu (chọn) từ XML (Loại CLOB)

  3. truy vấn để tìm tất cả các cột trong bảng không có giá trị trong đó

  4. Không phải là tháng hợp lệ khi thực hiện thủ tục tham số IN với giá trị ngày tháng

  5. tính toán giờ dựa trên giờ làm việc trong Oracle SQL