SQL*Loader

[SQL*Loader] 値を置換して取り込む(REPLACE)

投稿日:

SQL*Loaderで値を置換して取り込むには、REPLACE関数を使用します。

サンプル

以下のCSVファイルからロードしてみます。

(test.csv)
NAME1,NAME2 なまえ1,APPLE なまえ2,PERSIMMON なまえ3,BANANA

制御ファイル(ctlファイル)

11行目で置換(REPLACE)を行っっています。

実行コマンド

実行例
C:¥>sqlldr usr01/usr01@db01 control=c:¥test.ctl

実行結果

【tbl_test】
NAME1NAME2
なまえ1XPPLE
なまえ2PERSIMMON
なまえ3BXNXNX

'A'が'X'に置換されました。

解説

  • 値を置換して取り込みたい場合は、
    "REPLACE(:<カラム名>, '<置換前文字>', '<置換後文字>')"」を指定すればOKです。
  • 複数種類の文字を置換したい場合は、REPLACEをネストさせればOKです。
    (例)REPLACE(REPLACE(:NAME1, 'A', 'X'), 'B', 'Y')
  • ダブルクォーテーションなど特別な意味を持つ記号を対象としたい場合は、ASCIIコードで指定すればOKです。
    (例)ダブルクォーテーションを'X'に置換する
    → REPLACE(:NAME1, CHAR(34), 'X')

関連記事


スポンサーリンク

スポンサーリンク

-SQL*Loader

執筆者:



comment

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

スポンサーリンク