SQLPlus 保存到 CSV 文件而不格式化
Posted
技术标签:
【中文标题】SQLPlus 保存到 CSV 文件而不格式化【英文标题】:SQLPlus saving to CSV File without Formatting 【发布时间】:2018-01-02 16:53:38 【问题描述】:我正在尝试使用 SQLPlus 查询 Oracle 数据库并将结果保存为 CSV 文件。我只想要数据,而不是 SQLPlus 选项提供的格式,例如 numwidth
、linesize
和 pagesize
等。
我不想使用 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 年前的 *** 问题和答案,但我希望现在有更好的方法。
How do I spool to a CSV formatted file using SQLPLUS?
谢谢。
【问题讨论】:
SQL*Plus 没有太大变化...您的意思是什么噪音?您现在看到了什么,您想看到什么?遗憾的是,如果没有“复杂的查询方法”,您将无法删除字段中的尾随空格。从 SQL*Plus 切换到 the SQLcl command line tool 是一种选择吗?它具有 SQL Developer 的高级格式化功能... 获取 SQLcl,设置 sqlformat csv,就完成了。自那 8 年以来,我们为数据库构建了一个新的现代 CLI 接口。试试看 【参考方案1】:我想说是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
【讨论】:
以上是关于SQLPlus 保存到 CSV 文件而不格式化的主要内容,如果未能解决你的问题,请参考以下文章