Oracle SQLDeveloper3.0を使用しています。クエリ結果をテキストファイル(できればCSV)にエクスポートする方法を理解しようとしています。クエリ結果ウィンドウを右クリックしても、エクスポートオプションは表示されません。
6 に答える
私が使用しているバージョン
2012年5月5日更新
Jeff Smithは、SQLDeveloperからCSV出力を取得するための優れた方法であると私が信じていることをブログで示しています。ジェフの方法は、以下の方法1として示されています。
方法1
SQLクエリにコメントを追加し/*csv*/
、クエリをスクリプトとして実行します(F5またはワークシートツールバーの2番目の実行ボタンを使用)
それでおしまい。
方法2
クエリを実行する
右クリックして[アンロード]を選択します。
アップデート。Sql Developerバージョン3.0.04では、アンロードがエクスポートに変更されました 。これを指摘してくれたJanisPeisenieksに感謝します。
SQLDeveloperバージョン3.0.04のスクリーンショットを改訂
フォーマットドロップダウンからCSVを選択します
そして、画面上の残りの指示に従ってください。
正確には「エクスポート」ではありませんが、エクスポートするグリッド内の行を選択して(または、 Ctrl-ですべてを選択して)、 -でコピーすることができます。ACtrlC
デフォルトはタブ区切りです。これをExcelまたはその他のエディターに貼り付けて、区切り文字を好きなように操作できます。
また、-の代わりにCtrl--を使用すると、列ヘッダーもコピーされます。ShiftCCtrlC
参考までに、と/*csv*/
を含む他の形式の代わりにを使用することもできます。selectは、たとえばクエリ結果を含むxmlドキュメントを返します。クエリからxmlを返す簡単な方法を探しているときに、この記事に出くわしました。/*xml*/
/*html*/
/*xml*/ * from emp
参考までに、問題が発生した場合は、CSVタイムスタンプのエクスポートにバグがあり、数時間かけて回避しました。エクスポートする必要のあるフィールドのいくつかは、タイムスタンプタイプでした。現在のバージョン(この投稿の時点では3.0.04)でもCSVエクスポートオプションは、タイムスタンプの周りにグループ化記号を配置できないようです。タイムスタンプのスペースが私のインポートを壊したので、非常にイライラしました。私が見つけた最善の回避策は、すべてのタイムスタンプにTO_CHAR()を使用してクエリを作成することでした。これにより、少し手間がかかりますが、正しい出力が得られます。これにより、誰かが時間を節約できるか、次のリリースでOracleが成功することを願っています。
SQLDeveloperからローカルシステムにエクスポートします。
Path : C:\Source_Table_Extract\des_loan_due_dtls_src_boaf.csv
SPOOL "Path where you want to save the file"
SELECT /*csv*/ * FROM TABLE_NAME;
CSVエクスポートはデータをエスケープしません。\
結果\"
はエスケープされたように見え、では"
ないため、終わる文字列に注意してください\
。次に、数が間違っていて、"
行全体が壊れています。