sql >> データベース >  >> RDS >> Oracle

sqlldr値を置き換える方法

    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>
    



    1. SQLServerでONDELETESETNULLオプションを使用して外部キー制約を作成する方法-SQLServer/TSQLチュートリアルパート81

    2. CrystalReportsとMicrosoftSQLServer Reporting Services

    3. SQLビュー

    4. libmemcachedパス?