我正在使用Oracle SQL Developer 3.0。试图找出如何将查询结果导出到文本文件(最好是CSV)。右键单击查询结果窗口不会给我任何导出选项。
答案 0 :(得分:362)
我正在使用的版本
2012年5月5日更新
Jeff Smith有blogged显示,我认为从SQL Developer获取CSV输出的优越方法。杰夫的方法如下面的方法1所示:
方法1
将注释/*csv*/
添加到SQL查询中并将查询作为脚本运行(使用F5或工作表工具栏上的第二个执行按钮)
就是这样。
方法2
运行查询
右键单击并选择卸载。
<强>更新。在Sql Developer版本3.0.04中,卸载已更改为导出 感谢Janis Peisenieks指出这一点
修订了SQL Developer版本3.0.04的屏幕截图
从格式下拉菜单中选择CSV
并按照屏幕上的其他说明进行操作。
答案 1 :(得分:43)
不完全是“导出”,但您可以在要导出的网格中选择行(或 Ctrl - A 以选择所有行),然后使用 Ctrl - C 进行复制。
默认为制表符分隔。您可以将其粘贴到Excel或其他编辑器中,并操纵您喜欢的分隔符。
此外,如果您使用 Ctrl - Shift - C 而不是 Ctrl - C < / kbd>,您还将复制列标题。
答案 2 :(得分:26)
仅供参考,您可以替换/*csv*/
对于其他格式,包括/*xml*/
和/*html*/
。
select /*xml*/ * from emp
将返回带有查询结果的xml文档。
我在寻找一种从查询中返回xml的简单方法时遇到了这篇文章。
答案 3 :(得分:4)
对于遇到问题的任何人来说,CSV时间戳导出中存在一个错误,我只花了几个小时来处理。我需要导出的一些字段是timestamp类型。即使在当前版本(截止到此发布时为3.0.04),CSV导出选项也无法将分组符号放在时间戳周围。非常令人沮丧,因为时间戳中的空格打破了我的导入。我找到的最好的解决方法是在我的所有时间戳上用TO_CHAR()编写我的查询,这会产生正确的输出,尽管需要更多的工作。我希望这可以节省一些时间,或者让他们在下一个版本中获得Oracle。
答案 4 :(得分:1)
CSV导出不会转义您的数据。请注意以\
结尾的字符串,因为生成的\"
看起来像转义"
而不是\
。那么你的"
数字错误,你的整行都被打破了。
答案 5 :(得分:1)
从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;