• ベストアンサー

項目内の改行がレコードの終わりと判定されてしまう

SQL*PLUSでORACLEデータを単純にテキストファイルに書き出したいのですが、項目内に「改行」があるとレコードが複数行に分かれていまい、上手くいきません。 項目内の「改行」のみ(レコード終端の本来の「改行」は残す)を削除して前詰めする(または空白に置き換える)方法をご存じの方ご教示いただけないでしょうか。 例) SET COLSEP ',' SPOOL D:\出力ファイル.txt SELECT      項目1 || 項目2 || 項目3 FROM テストテーブル ; SPOOL OFF;

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

  • ベストアンサー
  • thatsthat
  • ベストアンサー率55% (15/27)
回答No.2

すみません。訂正です >(DB中の改行コードがcrのみなら、 「lfのみなら」です。

KURO_0720
質問者

お礼

ご教示いただいた方法で問題解決できました。 貴重な情報を賜りまして誠にありがとうございました。

その他の回答 (1)

  • thatsthat
  • ベストアンサー率55% (15/27)
回答No.1

面倒臭いですが select replace(replace(項目1||項目2||項目3,chr(13),''),chr(10),' ') from ・・・ のような形で、とりあえず出来ると思います。 (DB中の改行コードがcrのみなら、 replaceはchr(10)についてだけで良いです。)

関連するQ&A

専門家に質問してみよう