スプールファイルに出力される結果セットから削除する sql*plus コマンドはあり\r
\n
ますか? \t
つまり、すべてのレコードを「トリム」しますか?
過去に使用 set trim on
したことがありますが、現在必要なものはないようです。SQLクエリでオラクルの翻訳、chr関数を呼び出さないようにしています。
例えば、
set termout off
set spool somefile.dat
set lin 600
select data from mytable;
set spool off;
exit;
私のクエリはこれを返します
|DATA|
|\n \t\t\t\t\t thisistheactualdata \t\t\t\t\t\t\n|
そして、これをスプール・ファイルに保持したいと思います
thisistheactualdata
アップデート
さて、私たちはこのようなことをしました。
set tab off;
spool /home/oracle/out.dat
set linesize 20
set termout off
set trim on
select regexp_replace(l,'(\t|\n)','') from test;
spool off;
exit;
しかし、悪いニュースがあります。これを oracle 8 で実行する必要があり、regexp_replace が利用できないようです。:(
前もって感謝します。