アプリ版:「スタンプのみでお礼する」機能のリリースについて

DB2でSQLコマンドを使って、csvファイル形式で情報を収集しています。その際に、各テーブルはスペースで区切られているため、
テーブル内の文字(たとえばOSバージョンであればWindows XP)
に空白があると、

あとからエクセルで区切るときに、正しくテーブルごとに区切れません。各テーブル間を「,」(カンマ)等で区切って、抽出できますでしょうか???

すみませんが、どうしてもわかりません。
教えていただけますでしょうか?

A 回答 (2件)

質問の意味を理解するのにしばらく悩みました…。


sav_mosterさんが「テーブル」と言っているのは、あるテーブル内の「フィールド」(=列)のことですよね?

だとしたら列区切りにカンマを指定してあげれば良いかと思います。
ついでに万一、CHARやVARCHAR型の列のデータにカンマが含まれていても困らないように文字型はダブルクォテーションで囲むようにしましょう。
【例】
EXPORT TO "C:\out.csv" OF DEL MODIFIED BY CHARDEL"" COLDEL, DECPT. MESSAGES "C:\out.log" SELECT * FROM …
    • good
    • 0
この回答へのお礼

ほんとにありがとうございます!!!
すごくたすかります!!

ただ私は初心者であまり理解できませんでした・・・。

今私が書いた文はこうなっています。

db2 "select COMP_NAME ,PC_OS FROM TME_T WHERE INST_SW LIKE '%828035%'" >/tmp/wsus/mori.csv

出力には、COMP_NAME ,PC_OS がスペースで区切られてどかどかとでます。
このスペースがいやなので、フィールドの間にカンマを入れるには、
この文をどうすればいいでしょうか?
すみません。

お礼日時:2007/08/01 15:57

あ!ごめんなさい。

追加で質問されてることに今気づきました。
もうとっくに解決してるかもしれませんが、ただ単にカンマで区切れればいいだけなら以下のように…
  db2 "select COMP_NAME, ',', PC_OS FROM …
SELECT文のフィールドの間で直接指定してあげればOKです。
ただし、このやり方だとCOMP_NAMEの後ろによけいなスペースがくっつきます。
それが嫌なら前の回答に書いたEXPORTを使うか、なんらかのプログラム言語を使ってSQLを発行してください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す