Oracle spool文件转换为.txt文件。标题选项
我正在尝试将Oracle文件假脱机为.txt文件。我想显示标题,但我正在进行修剪以消除多余的空格,并且“修剪”显示在标题中,当我有更多字段时,一些标题不会显示,因为它太长。如何消除字段之间的空格,或使标题仅显示字段名Oracle spool文件转换为.txt文件。标题选项,oracle,Oracle,我正在尝试将Oracle文件假脱机为.txt文件。我想显示标题,但我正在进行修剪以消除多余的空格,并且“修剪”显示在标题中,当我有更多字段时,一些标题不会显示,因为它太长。如何消除字段之间的空格,或使标题仅显示字段名 set newpage none; set space 0; set feedback off; set linesize 5000; set pagesize 50000; set echo off; set termout off; set trimspool on; se
set newpage none;
set space 0;
set feedback off;
set linesize 5000;
set pagesize 50000;
set echo off;
set termout off;
set trimspool on;
set colsep '|';
set heading on;
set headsep on;
set underline off;
set trim on;
spool /dch/sap_load/ZPONE_MCC/QE1/mock3/test_export.txt
SELECT
TRIM( MATNR )|| '|' ||
TRIM( WERKS )|| '|' ||
TRIM( STLAN )|| '|' ||
TRIM( DATUV )|| '|' ||
TRIM( BMEIN )|| '|' ||
TRIM( BMENG )|| '|' ||
TRIM( STLAL )|| '|' ||
TRIM( STLST )|| '|' ||
TRIM( ZTEXT )|| '|' ||
TRIM( AENNR )|| '|' ||
TRIM( REVLV )|| '|' ||
TRIM( LABOR )
FROM CLS_MCC1XX_BOM_HEADER;
这是我的输出的外观:
谢谢,
Marcie通过连接修剪过的字符串,最终输出一个字段 一个选项是重命名该字段:
SELECT
TRIM( MATNR )|| '|' ||
TRIM( WERKS )|| '|' ||
TRIM( STLAN )|| '|' ||
TRIM( DATUV )|| '|' ||
TRIM( BMEIN )|| '|' ||
TRIM( BMENG )|| '|' ||
TRIM( STLAL )|| '|' ||
TRIM( STLST )|| '|' ||
TRIM( ZTEXT )|| '|' ||
TRIM( AENNR )|| '|' ||
TRIM( REVLV )|| '|' ||
TRIM( LABOR )
AS 'whatever heading you want'
FROM CLS_MCC1XX_BOM_HEADER;
您可以按照Matthew Strawbridge的建议使用列别名,但必须用双引号而不是单引号将其括起来:
SELECT ...
AS "MATNR|WERKS|STLAN|DATUV|BMEIN|BMENG|STLAL|STLST|ZTEXT|AENNR|REVLV|LABOR"
FROM CLS_MCC1XX_BOM_HEADER;
更重要的是,您受到标识符的最大长度限制,即30个字符,因此这在这里不起作用
另一种选择是制作假标题:
set heading off
prompt MATNR|WERKS|STLAN|DATUV|BMEIN|BMENG|STLAL|STLST|ZTEXT|AENNR|REVLV|LABOR
SELECT ...
FROM CLS_MCC1XX_BOM_HEADER;
禁用set heading
(或set pagesize 0
)时,可以抑制实际的、没有帮助的标题,而使用提示符
SQL*Plus命令来编写所需的文本
您也可以从dual中选择“”,而不是使用提示符
,但我发现它更干净了一点