2

我正在使用 oracle sql developer 将一些数据假脱机到 csv 文件。到目前为止,我在一个文件中有这个:

SET head OFF;
SET echo OFF; 
SET termout OFF; 
SET verify OFF; 
set colsep ,
set pagesize 0
set feedback off
@sandbox.sql

Sandbox.sql 包含以下内容:

spool "C:\TEMP\test.csv"
select 'Date,Average' from dual;
select to_char(rollup_time, 'mm/dd/yyyy'), average from sample_table
order by 1;
spool off;

这会生成一些如下所示的 csv 文件:

日期平均值

2012 年 1 月 1 日 900 2012 年 1 月 2 日
910

我想摆脱列标题后面的空白行,但我无法设置 trimspool (选项不存在)并且联合都无法工作,因为数据类型不同。有谁知道如何在 oracle 的 sql 开发人员环境中删除该空行?

4

3 回答 3

3

使用“设置新页面无”命令。

设置 NEWP[年龄] {1 | n | NONE} 设置从每页顶部到顶部标题打印的空白行数。零值在每页(包括第一页)的开头放置一个换页并清除大多数终端上的屏幕。如果将 NEWPAGE 设置为 NONE,SQL*Plus 不会在报告页面之间打印空行或换页。

于 2012-12-24T02:34:23.307 回答
1

在这里,使用 SQL Developer(版本 18.2)

我没有你的桌子,但我有 HR.EMPLOYEES。

cd c:\sqldev
set feedback off
set pagesize 100
set sqlformat csv
spool so-no-blanks.csv
select 'Date, Average' from dual;
select to_char(hire_date, 'mm/dd/yyyy'), salary from employees
fetch first 3 rows only;
spool off

-- set sqlformat csv:告诉SQL Developer的脚本引擎自动返回CSV格式的结果集(json、xml、insert、html、delimited也可以)

SQL Developer 的脚本引擎在几年前进行了更新,以支持 SQL*Plus 提供的几乎所有内容,以及更多内容。就像那个“cd”命令一样——它在做“spool”之类的事情时设置路径

在此处输入图像描述

于 2018-09-02T13:59:46.213 回答
0

我刚刚发现自己处于与 roostersign 相同的情况,并且我设法避免了 SQL*Plus 中的两个查询之间的空白行:

set space 0

我通过测试这里的建议到达那里:SQL*Plus:格式化查询结果

于 2016-01-20T09:54:36.113 回答