----スクリプト内容-----------
set echo off
set termout off
set heading off
set feedback off
set colsep ’,’
set pages 0
/* spoolコマンドでファイル出力を開始する */
/* ↓↓↓↓↓↓↓↓↓↓↓↓ここのパスを出力したいパスに変更 */
spool C:¥w_ltv.csv
/* 問い合わせ結果がファイルtest.csvに出力される */
SELECT ’aaaa’,’bbbb’
FROM M_BAIING
WHERE ROWNUM <= 50;
/* spool offでファイル出力を終了する */
spool off
----スクリプト内容終了-----------
結果が空白が残って出力されてしまいます。COLUMNを使用するとできるようなことを聞いたのですが、うまくいきません。
アドバイスお願いします。
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_kj07_2.htm
SQL 文字関数 - 連結、空白削除、置換、切出、検索、長さ、数値変換他 - SAK Streets
空白が、左や右にあるのであれば、
ltrimとrtrimで出来そうです。
空白が途中なのであれば、
replaceでいかがでしょうか。
何にせよ、入力されているデータの状態と
実際に出力を期待しているデータの形式が
ある程度具体的に出されていないので、
回答が難しいです。
http://www.iceprobe.net/database/oracle/oraoraplus/plus_command_...
Oracle SQL*Plus column クイックリファレンス
リンク先は参考にしているサイトです。
文字列項目が長めに定義されていても、
COLUMN MOJI FORMAT A10
という風に、書けば初めの10文字のみが出力されます。
VC2等で定義されており、兎に角、短くしたCSVを出力したいなら、COLSEPは使わずに、
SELECT A || ’,’ || B || ’,’ || ’.’ || C FROM TABLE;
の様に、手間暇をかける方法もあります。
COLSEPを使わないほうがサイズを小さくできますね。手間暇かけてやりたいと思います。
ありがとうございました。