我有一個查詢(Oracle)的Bash中一樣,Oracle查詢返回整行中的一行bash的
RETVAL=`sqlplus -S /nolog <<EOF
connect $ORCL_USR/[email protected]$ORCL_TNS;
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
select trim(Colm1) from $MyTable
EXIT;
EOF`
Result="Result.txt"
touch $Result
echo "$RETVAL" >> "$Result"
cat $Result
如果我只是選擇一列,那麼結果是正確的,每列(我只是有一個列)有一行 所以。
cat Result.txt
111
222
333
問題是,當我嘗試查詢2列以上 所以Revalt我把:
select trim(Colm1),trim(column2) from $MyTable
當我做貓$的Result.txt結果是:
111
Car
222
Hause
333
Dog
的時候我會想
111 Car
222 Hause
333 Dog
因此文件的每行都在一行中。
如何實現它?
在預先感謝恩裏克
表中的列數據類型是什麼?看起來輸出被封裝,因爲它太寬。 [可能的副本](https://stackoverflow.com/q/3006431/266304)如果你只是需要'設置linesize' .. –
嗨@AlexPoole我thoung相同Column1 - > nummber,Column2-> Varchar 255,它看起來你在說什麼。我會試試看。 – Enrique
好的,然後嘗試添加'LINESIZE 300'到你的'SET'命令。你爲什麼使用'trim()'作爲數字 - 所以它在左邊而不是在右邊?使用'to_char()'會更直觀。 –