TRIMOUT システム変数
TRIMOUT は画面出力の各行の出力の終わりから行末までの空白を出力するかしないかを設定する。
SET TRIMOUT コマンド
SET TRIMOUT コマンドの構文
SET TRIMOUT ON
SET TRIMOUT OFF
短縮形
SET TRIM ON
SET TRIM OFF
デフォルト
SET TRIMOUT OFF
SET TRIMOUT ON と SET TRIMSPOOL ON の違い
TRIMOUT システム変数は SQL*Plus の 標準出力(STDOUT)の表示時に行末のトリム処理を制御する。
TRIMSPOOL システム変数 は SQL*Plus の SPOOL 命令によるファイル書き出し時に行末のトリム処理を制御する。
以下のスクリプトで、どのように違うか確認してみる。
trimout.sql ファイル
SET TRIMOUT ON
set trimspool off
set linesize 10
spool trimspool.log
select '12345' from dual;
spool off
exit
このスクリプトをコマンドプロンプトから以下のように実行すると、SPOOL によって 「trimspool.log」ファイル、リダイレクトによって「trimout.log」ファイルが生成される。
C:\>sqlplus -s rivus/passwd @trimout.sql > trimout.log
-- ↑ ↑
-- サイレントモード スペースを空ける
実行結果ファイル
trimout.log ファイル (SET TRIMOUT ON)
'1234
-----
12345
trimout.log ファイルの内容は行末のトリム処理が行われている。
trimspool.log ファイル (SET TRIMSPOOL OFF)
'1234_____
-----_____
12345_____
表示の都合上スペースを '_' で表示している。
trimspool.log ファイルの内容は SET LINESIZE 10 の設定により10文字になるまで行末にスペースが補完されている。