人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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コマンドが原因だと思うのですが、ご教授下さい。
よろしくお願いします。

●質問者: kyaspring
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:CSV DB SELECT SQL アナ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● newta
●35ポイント

参照するカラムの型は

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

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

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

◎質問者からの返答

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

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

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

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


2 ● sect
●35ポイント

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

「-s ","」

となっているところを、

「-s","」

または、

「-s,」

です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ