我使用的是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

然后按照屏幕上的其他说明操作。

其他回答

供您参考,您可以替换/*csv*/ 对于其他格式,包括/*xml*/和/*html*/。 例如,从emp中选择/*xml*/ *将返回一个包含查询结果的xml文档。 在寻找从查询返回xml的简单方法时,我偶然发现了这篇文章。

我正在使用的版本

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,您还将复制列标题。

从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;

CSV导出不会转义您的数据。注意以\结尾的字符串,因为结果的\"看起来像转义的"而不是\。那么你的号码错了,你的整排都坏了。