【发布时间】:2014-01-11 22:51:52
【问题描述】:
我正在尝试生成一个数据文件作为表格的下载,该表格可能是固定格式的。 我已经准备好 SQL。
示例:
SELECT RPAD(ORGANIZATION_ID,10)||RPAD(ORGANIZATION_NAME,100)||RPAD(EMPLOYEE_COUNT,100)
FROM MY_ORGANIZATION_STATE;
我在 SQL Developer 中运行它,然后导出到 Excel。对于 50 条记录的样本。 能够正确获取,格式看起来还可以。
但我需要自动化它,因此我们使用 SQL*Plus 的 spool 命令。 下面是一个sn-p。
set pagesize 100;
set linesize 10000;
set heading off;
spool orgn_output.dat;
@my_script # this has my SQL inside
spool off;
这运行没有任何错误。
但是当我尝试打开文件时,我可以看到,文件内有多余的空格,并且布局不符合我的预期!
当我手动运行 SQL 并使用 PUTTY 假脱机时,它看起来是文件。为什么我的脚本会生成错误的脚本。我不知道为什么会这样。
非常感谢任何帮助!
编辑:输出:
100 Deva@Company@Sales 469
101 Deva@School 234
102 Deva@Hospitals 245
103 Deva@Company@Finance 469
谢谢
【问题讨论】:
-
其实在unix下发出cut -c命令,很明显布局不对。
-
我自己试了一个例子!
-
每行末尾或值之间的额外空格?
set tab off会影响您看到的内容吗?这可能会使某些对齐方式失效。如果行太长,您可能需要set trimspool on,但我不确定这是否相关? -
@AlexPoole 欢呼...我能够识别出相同的...它对我有用!
-
@AlexPoole 你是对的!你们太棒了..我在这个问题上挣扎了很多..正在研究与 UNICODE 相关的问题!
标签: sql oracle unix sqlplus spool