【发布时间】:2016-05-11 15:22:47
【问题描述】:
echo "****************************************************************"
echo "Started may at : " $(date +"%r")
sqlplus -s ETLUSER/ETL@//10.135.23.232:1521/ODS<<EOF >/dev/null
SPOOL wfa_may.csv
SELECT MAC_ADDRESS ||','||
CRM_BP_ID || ',' ||
EVENT_TIMESTAMP || ',' ||
ACCT_INPUT_OCTETS || ',' ||
ACCT_OUTPUT_OCTETS || ',' ||
ACCT_INPUT_PACKETS || ',' ||
ACCT_OUTPUT_PACKETS || ',' ||
ACCT_SESSION_TIME || ',' ||
NAS_IDENTIFIER || ',' ||
EXTRACTION_DATE || ',' ||
RECORD_DATE || ',' ||
LAST_MODIFIED_DATE || ',' ||
ETL_BATCH_ID || ',' ||
ETL_PROCESS_ID || ',' ||
RECORD_LOAD_TIMESTAMP FROM DBAS.S_WFA_ACCOUNTING_MSG where to_char(EVENT_TIMESTAMP,'MON') = 'MAY';
exit
EOF
echo "Ended may at : " $(date +"%r")
echo "****************************************************************"
从 NAS_IDENTIFIER 我无法找到文件中显示的任何值。
谁能帮我看看怎么回事?
【问题讨论】:
-
其他列中是否有可能包含逗号的字符串?他们不太可能从名称中获取信息,但这可能会导致 CSV 失效。 (有点好奇为什么要假脱机而不是仅仅将输出重定向到文件,而不是 /dev/null;但这并不真正相关。而且您知道您可以将您的选择拆分到脚本中的多行以使其更具可读性对吧?)
-
标题重复出现换行?? set termout off set feedback off set head on set verify off set echo off set linesize 30000 set pagesize 0 set trimspool on 这些会有帮助吗??
-
set pagesize 0will suppress all headers,不只是重复的;你可以设置一个大数字,只看到一次。或create your own。您可能需要设置linesize- 编辑后我不确定您看到的是什么,例如如果数据被换行到多行,或者被截断。显示一些当前输出和表格中的相应值可能会澄清。 -
您可以通过演示和示例查看我的更新答案。
标签: oracle bash shell csv sqlplus