如何在Oracle SQL Developer中将查询结果导出到csv?

时间:2010-11-12 19:38:50

标签: oracle csv export oracle-sqldeveloper

我正在使用Oracle SQL Developer 3.0。试图找出如何将查询结果导出到文本文件(最好是CSV)。右键单击查询结果窗口不会给我任何导出选项。

6 个答案:

答案 0 :(得分:362)

我正在使用的版本

alt text

2012年5月5日更新

Jeff Smithblogged显示,我认为从SQL Developer获取CSV输出的优越方法。杰夫的方法如下面的方法1所示:

方法1

将注释/*csv*/添加到SQL查询中并将查询作为脚本运行(使用F5或工作表工具栏上的第二个执行按钮)

enter image description here

就是这样。

方法2

运行查询

alt text

右键单击并选择卸载。

<强>更新。在Sql Developer版本3.0.04中,卸载已更改为导出 感谢Janis Peisenieks指出这一点

alt text

修订了SQL Developer版本3.0.04的屏幕截图

enter image description here

从格式下拉菜单中选择CSV

alt text

并按照屏幕上的其他说明进行操作。

答案 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;