SQLでCSV出力時、に値の空白を除去したいのですが、いい方法はありますでしょうか?

----スクリプト内容-----------
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を使用するとできるようなことを聞いたのですが、うまくいきません。
アドバイスお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:kimizu No.1

回答回数726ベストアンサー獲得回数21

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_kj07_2.htm

SQL 文字関数 - 連結、空白削除、置換、切出、検索、長さ、数値変換他 - SAK Streets

空白が、左や右にあるのであれば、

ltrimとrtrimで出来そうです。


空白が途中なのであれば、

replaceでいかがでしょうか。


何にせよ、入力されているデータの状態と

実際に出力を期待しているデータの形式が

ある程度具体的に出されていないので、

回答が難しいです。

id:time_and_groove No.2

回答回数19ベストアンサー獲得回数0

ポイント100pt

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;


の様に、手間暇をかける方法もあります。

id:toshiharu

COLSEPを使わないほうがサイズを小さくできますね。手間暇かけてやりたいと思います。

ありがとうございました。

2005/12/14 10:33:06

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません