OSQLコマンドでSQLを実行し、CSVファイルを出力しようとしています。

その結果、CSVファイル内の各項目の後にDB上に格納されていないはずのスペースが入ってしまいます。

・SQLSERVER2000を使用しています。
・入力ファイルにはSELECT文のみを記入しています。
・入力ファイルのSELECT文をクエリアナライザで実行した場合、
 は各項目の後にスペースは入らないのですが、
 OSQLコマンドを使用するとスペースが含まれてしまいます。
・コマンドは以下の通りです。
OSQL -S DBサーバ名 -d DB名 -U ユーザ名 -P パスワード -i 入力ファイル名 -o 出力ファイル名 -n -w 600 -s "," -h-1

OSQLコマンドが原因だと思うのですが、ご教授下さい。
よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:2008/08/23 01:11:52
  • 終了:2008/08/30 01:15:02

回答(2件)

id:newta No.1

newta回答回数68ベストアンサー獲得回数72008/08/23 01:33:16

ポイント35pt

参照するカラムの型は

char、varchar、binary、varbinary等はどうなっていますか?

char等であるなら、空白が出力されて正しいです。

もし空白を除去したいならばtrimなどをしてやる必要があるかと。

id:kyaspring

varcharやdecimal、numberなどが混在しています。

どの型であっても空白が出力されています。

sqlでTRIMをしても、クエリアナライザ上は空白が出力されませんが

OSQLコマンドをかませると空白が出力されてしまいます。

2008/08/23 11:12:04
id:sect No.2

sect回答回数5ベストアンサー獲得回数02008/08/25 16:32:24

ポイント35pt

区切り文字の指定からブランクとってみてはどうでしょうか。

「-s ","」

となっているところを、

「-s","」

または、

「-s,」

です。

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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません