0

我想将查询结果存储到 k-shell 脚本中的变量中。这是到目前为止我所做的:

WeekEndingDate=`nzsql << endl | grep KEEP | sed 's/KEEP//;s/[ ]//g' 

select 'KEEP', max(Week1) from Table_Week; 

endl` 

echo Week ending date: $WeekEndingDate

MonthEndingDate=`nzsql << endl | grep KEEP | sed 's/KEEP//;s/[ ]//g' 

select 'KEEP', max(Month1) from Table_Week; 

endl`

echo Month ending date: $MonthEndingDate

当我运行它时的结果是:

Week ending date: |2013060801 

Month ending date: |2013060804

有一个带有前缀的管道。我只需要没有管道的结果:

Week ending date: 2013060801 

Month ending date: 2013060804

请帮我解决一下这个。

谢谢。

4

1 回答 1

0

尝试这个:

WeekEndingDate=`nzsql -A -t -c "select max(Week1) from Table_Week"`
echo Week ending date: ${WeekEndingDate}

MonthEndingDate=`nzsql -A -t -c "select max(Month1) from Table_Week"`
echo Month ending date: ${MonthEndingDate}

您在 sql 查询中添加“KEEP”,然后将其从输出中删除,因此首先添加它是没有意义的。您可以尝试以下方法,看看是否有帮助:

WeekEndingDate=`nzsql << endl
set pagesize 0 feedback off verify off heading off echo off
select trim(max(Week1)) from Table_Week; 
endl` 

echo Week ending date: ${WeekEndingDate}

MonthEndingDate=`nzsql << endl
set pagesize 0 feedback off verify off heading off echo off
select trim(max(Month1)) from Table_Week;
endl`

echo Month ending date: ${MonthEndingDate}
于 2013-07-04T06:18:21.713 回答