回答:
使用しているバージョン
2012年5月5日更新
Jeff Smithがブログで、SQL DeveloperからCSV出力を取得するための優れた方法であると私が信じていることを示しています。ジェフの方法は、以下の方法1として示されています。
方法1
/*csv*/
SQLクエリにコメントを追加し、クエリをスクリプトとして実行します(F5またはワークシートツールバーの2番目の実行ボタンを使用)。
それでおしまい。
方法2
クエリを実行する
右クリックしてアンロードを選択します。
更新。SQL Developerバージョン3.0.04では、アンロードがエクスポートに変更されました。 これを指摘してくれたJanis Peisenieksに感謝します。
SQL Developerバージョン3.0.04のスクリーンショットを改訂
フォーマットのドロップダウンからCSVを選択します
画面の残りの指示に従います。
/*CSV*/
は機能しませんでしたが、小文字/*csv*/
は機能しました。ありがとう!
正確に「エクスポート」するわけではありませんが、エクスポートするグリッドで行を選択(またはCtrl- Aすべてを選択するには)し、Ctrl-でコピーできますC。
デフォルトはタブ区切りです。これをExcelまたは他のエディターに貼り付けて、区切り文字を自由に操作できます。
また、あなたが使用している場合Ctrl- Shift- C代わりにCtrl- C、あなたはまた、列ヘッダをコピーします。
参考までに、や/*csv*/
などの他の形式をで置き換えることができます。select は、たとえばクエリ結果を含むxmlドキュメントを返します。クエリからxmlを返す簡単な方法を探しているときに、この記事を見つけました。/*xml*/
/*html*/
/*xml*/ * from emp
問題が発生したすべての人に参考までに、CSVタイムスタンプのエクスポートにバグがあり、数時間作業しただけです。エクスポートする必要があるいくつかのフィールドのタイプはタイムスタンプでした。現在のバージョン(この投稿の時点では3.0.04)でも、CSVエクスポートオプションはタイムスタンプの周りにグループ化記号を配置できません。タイムスタンプのスペースがインポートを壊したので非常にイライラします。私が見つけた最良の回避策は、すべてのタイムスタンプにTO_CHAR()を使用してクエリを書くことでした。これにより、誰かが時間を節約できること、またはOracleが次のリリースで成功することを願っています。
MDSYS.SDO_GEOMETRY(2001,8307,MDSYS.SDO_POINT_TYPE(-122.39096,37.79251,NULL),NULL,NULL)
、引用符で囲まずに、このように(コンマに注意して)エクスポートされていました。また、動的SQLを使用しているため、これらの列をTO_CHAR()できません。助言がありますか?
CSVエクスポートはデータをエスケープしません。\
結果の文字列が。ではなく\"
エスケープされたように見えるため、文字列が終了することに注意してください。次に、数が間違っていて、行全体が壊れています。"
\
"
"foo\"
は完全に有効な引用符付き文字列です。