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