SQLPlus保存为CSV文件而不进行格式化

时间:2018-01-02 16:53:38

标签: oracle csv export-to-csv sqlplus

我正在尝试使用SQLPlus查询Oracle数据库并将结果保存为CSV文件。我只想要数据,而不是SQLPlus选项提供的格式,例如numwidthlinesizepagesize等。

我不想使用bash或awk删除演示文稿格式来进行额外处理,也不想执行SELECT field1 || ',' || field2等复杂查询

目前我正在尝试使用此处发布的方法,但在保存为CSV时,我仍然不清楚如何避免显示噪音。

https://chartio.com/resources/tutorials/how-to-write-to-a-csv-file-using-oracle-sql-plus/

set colsep ,
set headsep off
set pagesize 0
set trimspool on
set linesize 2
set numwidth 5

spool books.csv

SELECT
  title,
  primary_author
FROM
  books;

spool off

这是8年前StackOverflow的问题和答案,但我希望现在有更好的方法。

How do I spool to a CSV formatted file using SQLPLUS?

感谢。

1 个答案:

答案 0 :(得分:0)

我说SET ECHO OFF困扰着你。试试吧。

此外,您可能希望书签以下一组SET命令。

SET ECHO OFF
SET VERIFY OFF
SET TRIMSPOOL ON
SET TRIMOUT ON
SET LINESIZE 9999
SET PAGESIZE 0
SET FEEDBACK OFF
SET TIMING OFF
SET TIME OFF
SET LONG 10000