首页 > 解决方案 > 使用 SQL 查询生成 Excel 文件,Shell 脚本中的 SPOOL 命令

问题描述

我必须从Oracle Database. 代码工作正常,但是列名并没有完全出现,只是作为数据长度的长度出现。我想要完整的标题/列名

列名是这样来的

ST  STAT_TYPE_DESC   ST  S  NXT_STATME  DELAY_DAYS  ANN_PREM_LIM_LOW ANN_PREM_LIM_HI    CONTRIB_HIST_LEN    EVENT_DO    C   P

但我想要的是列的完整名称,例如STSTATEMENT_TYPE_ID

#!/bin/ksh
FILE="A.csv"

sqlplus -s lifelite/lifelite@dv10  <<EOF

SPOOL $FILE
SET HEADING ON
SET HEADSEP OFF
SET FEEDBACK OFF  
SET LINESIZE 250
SET PAGESIZE 5000 embedded ON
SET COLSEP ","

SELECT * FROM TLLI_01150STATTYPE;
EOF
SPOOL OFF
EXIT 0

标签: exceloracleshellsqlplus

解决方案


在您选择之前添加一个新的列名:

SELECT 'STATEMENT_TYPE_ID' || ',' || 'STAT_TYPE_DESC' || ',' || ... FROM dual;

并出发


推荐阅读