• ベストアンサー

SQL*Loaderで、データを加工してロードしたいです。

SQL*Loaderを使ってデータをテーブルにロードしたいのですが、その際に、データを加工してロードしたいと考えております。 ◎使用するコントロールファイルのサンプル (項目1)(項目2)(項目3) 12345, abcde, ABCDE ◎使用するコントロールファイルのサンプル Load Data truncate Into Table "Sample" Fields terminated by ',' Optionally enclosed by '"' (  項目1,  項目2,  項目3,  項目4 EXPRESSION ":項目1(の下1桁)|| ' ' || :項目2(の下2桁)|| ' ' || :項目3(の下3桁)" ) まず、項目4には、項目1~3のデータを連結したものをロードしたいと考えております。 その際に、 項目4(6桁)="項目1の下1桁"+"項目2の下2桁"+"項目3の下3桁" となるようにしたいのですが、どのような関数を使ったらよいのでしょうか? また、連結する関数"EXPRESSION"とどのように組み合わせたらよいのか教えていただけないでしょうか? 思い当たる様々なキーワードでググってみたのですが、参考になるページを見つけることができませんでした。 「ヒントやるから自分で調べろ」みたいなお返事でも結構ですので、アドバイスをいただけますようお願い申し上げます。

質問者が選んだベストアンサー

  • ベストアンサー
  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.3

#1です。すいません、訂正です。 項目4 EXPRESSION "SUBSTR(:項目1,-1,1)|| ' ' || SUBSTR(:項目2,-1,2)|| ' ' || SUBSTR(:項目3,-1,3)"

rhymester
質問者

お礼

やっぱりそうだったんですね^^ ご回答いただいた次の日に試してみたら、うまくいかなかったので、訂正していただいたように入力したら正しくロードできました。 わざわざ教えていただいてありがとうございますm(_ _)m

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.2

答えはもう書かれているようですが、sqlldrのドキュメントが見つからなかったということでしたんで、OTNのリンクつけておきます。

参考URL:
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19211-01/ldr_field_list.html
rhymester
質問者

お礼

参考URLを教えていただきましてありがとうございます^^ 問題になってた部分以外も、ぜひ参考にさせていただきます♪

すると、全ての回答が全文表示されます。
  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.1

SUBSTRで。 項目4 EXPRESSION "SUBSTR(:項目1,-1,1)|| ' ' || (:項目2,-1,2)|| ' ' || (:項目3,-1,3)" この場合は半角英数なのでSUBSTRBが適切かな。

rhymester
質問者

お礼

ご回答いただきましてありがとうございます!! 明日さっそく試してみようと思います。

すると、全ての回答が全文表示されます。

関連するQ&A