我使用的是Oracle SQL Developer 3.0。试图弄清楚如何将查询结果导出到文本文件(最好是CSV)。右键单击查询结果窗口没有提供任何导出选项。
我正在使用的版本
2012年5月5日更新
Jeff Smith在博客中展示了我认为从SQL Developer中获取CSV输出的最佳方法。Jeff的方法如下method 1所示:
方法1
将注释/*csv*/添加到SQL查询中,并将查询作为脚本运行(使用F5或工作表工具栏上的第二个执行按钮)
select /*csv*/ *
from emp;
就是这样。
您也可以使用spool自动将其保存为CSV文件:
spool "/path/to/file.csv";
select /*csv*/ *
from emp;
spool off;
只要确保“运行脚本”或按F5。
方法2
运行查询
右键单击并选择卸载。
更新。在Sql Developer Version 3.0.04中,unload已更改为export 感谢Janis Peisenieks指出这一点
修改了SQL Developer Version 3.0.04的屏幕截图
从格式下拉菜单中选择CSV
然后按照屏幕上的其他说明操作。
不完全是“导出”,但您可以在想要导出的网格中选择行(或按Ctrl-A选择所有行),然后用Ctrl-C复制。
默认值是由制表符分隔的。您可以将其粘贴到Excel或其他编辑器中,并随心所欲地操作分隔符。
此外,如果您使用Ctrl-Shift-C而不是Ctrl-C,您还将复制列标题。
FYI to anyone who runs into problems, there is a bug in CSV timestamp export that I just spent a few hours working around. Some fields I needed to export were of type timestamp. It appears the CSV export option even in the current version (3.0.04 as of this posting) fails to put the grouping symbols around timestamps. Very frustrating since spaces in the timestamps broke my import. The best workaround I found was to write my query with a TO_CHAR() on all my timestamps, which yields the correct output, albeit with a little more work. I hope this saves someone some time or gets Oracle on the ball with their next release.
供您参考,您可以替换/*csv*/ 对于其他格式,包括/*xml*/和/*html*/。 例如,从emp中选择/*xml*/ *将返回一个包含查询结果的xml文档。 在寻找从查询返回xml的简单方法时,我偶然发现了这篇文章。
从sql developer导出到本地系统。
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;