使用SQLPLUS从查询中获取值是空白但shell不能获取它

时间:2013-07-05 15:18:29

标签: shell sqlplus

我正在使用sql plus:

set linesize 9999
set trimspool on
set feedback off
set pagesize 0

spool result.csv

SELECT field1 || ';' || field2 || ';' || field3 || ';' || field4 || ';' || field5 || ';'   
|| field6 || ';' || field7 || ';' || field8  || ';' || field9  || ';' || field10
FROM table
WHERE field1 = '12345';

你可以看到结果是:

x;x;x;x;x;x;x;x;;x

你可以看到数据库中的field9是空白的,所以当我这样做时:

while IFS=";" read -r field1 field2 field3 field4 field5 field6 field7 field8 field9 fiedl10
do
case "$field1" in

1)
echo "$field1"
echo "$field2"
echo "$field3"
echo "$field4"
echo "$field5"
echo "$field6"
echo "$field7"
echo "$field8"
echo "$field9"
echo "$field10"

我无法打印$ field10。甚至不是$ field9,这是空白的,甚至是$ field10

这是打印:

x <-field1
x <-field2
x <-field3
x <-field4
x <-field5
x <-field6
x <-field7
x <-field8

任何想法都会有所帮助!谢谢!

1 个答案:

答案 0 :(得分:2)

如果这是您的实际脚本的复制/粘贴,field10就像fiedl10一样。