Oracle

OracleのSQL*PlusでSELECT文をCSV出力する方法

  • alter session set nls_date_format:出力する日付形式を指定する
  • set echo off:画面にコマンドを表示しない
  • set termout off:コマンドの結果出力を表示しない
  • set pagesize 0:ヘッダー、ページ・ブレーク、タイトル、初期空白行およびその他の書式設定情報を表示しない
  • set linesize 1000:1行に表示するバイト数(見切れないために多めに取っておく)
  • set trims on:各行の終わりの空白を削除する
  • set feedback off:SQL実行後の確認メッセージ(例. 3行が選択されました。)を表示しない
  • spool output.csv:出力ファイルを指定して出力開始
  • spool off:出力終了
  • ||','||:出力する項目をカンマ区切りで結合する

SQLを直接実行するか、以下のようにSQL*PlusでSQLファイルを指定(例. @demo.sql)して実行すればOKです。

↓こんな感じでCSV出力されます。

参考リンク

-Oracle

© 2020 Reasonable Code