我使用的是Oracle SQL Developer 3.0。试图弄清楚如何将查询结果导出到文本文件(最好是CSV)。右键单击查询结果窗口没有提供任何导出选项。
我正在使用的版本
2012年5月5日更新
杰夫史密斯有博客显示,我认为这是从SQL Developer获取CSV输出的高级方法。Jeff的方法如下method 1所示:
方法1
将注释/*csv*/添加到SQL查询中,并将查询作为脚本运行(使用F5或工作表工具栏上的第二个执行按钮)
/*csv*/
select /*csv*/ * from emp;
就是这样。
你也可以使用spool自动将其保存为CSV文件:
spool
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-一个选择所有行),然后用Ctrl-C进行复制。
默认值是由制表符分隔的。您可以将其粘贴到Excel或其他编辑器中,并随心所欲地操作分隔符。
同样,如果你使用Ctrl-转变-C而不是Ctrl-C,你也会复制列标题。
供任何遇到问题的人参考,在CSV时间戳导出中有一个bug,我只是花了几个小时来解决这个问题。我需要导出的一些字段是时间戳类型的。即使在当前版本(截至本文发布时为3.0.04)中,CSV导出选项也未能在时间戳周围放置分组符号。非常令人沮丧,因为时间戳中的空格打破了我的导入。我发现的最好的解决方法是在所有时间戳上使用TO_CHAR()来编写查询,这会产生正确的输出,尽管要多做一些工作。我希望这可以节省一些时间,或者让甲骨文在他们的下一个版本上有所作为。
供参考,你可以替换/*csv*/ 也适用于其他格式,包括/*xml*/和/*html*/。 例如,select /*xml*/ * from emp将返回一个包含查询结果的xml文档。 在寻找从查询返回xml的简单方法时,我偶然发现了这篇文章
/*xml*/
/*html*/
/*xml*/ * from emp
CSV导出不会转义您的数据。注意以\结尾的字符串,因为生成的\"看起来像转义的",而不是\。然后你有错误的"的数字,你的整个行被打破。
\
\"
"
从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;