CSVに固定長で出力するには・・・?


入門生  2003-04-08 16:39:01  No: 106606  IP: [192.*.*.*]

初めまして入門生という者です。初心者です。
開発でデータを固定長のCSVに出力したいと思っていますが解りません。

内容は、
  テキストファイルを読み込んで内容をメモリー上にセーブしています。
  テキストの中身は、CHAR(3)、NUMBER(12,0)という内容でファイルによって
  項目数がランダムです。
そこで  SELECT * FROM [テーブル名]でデータを読み込んでそのデータをCSVに
  出力する時にSELECT文で実行した内容とテキストの内容を使って編集したいの
  ですが出来るのでしょうか?
例)
  金額の時、NUMBER(12,0)で取っている時にデータでは12345と入っている時に
  12345の左前に 000000012345 の用な形で編集したいのですが、出来ますか?
  同様に住所の時も同じで、CHAR(60)で取っている時にデータでは東京都XXX
  と入っている時に東京都XXXの右側にブランクを入れて60桁で編集をしたい。

至らない質問ですいませんが宜しくお願いします。

編集 削除
ぢゃわ  2003-04-09 13:51:45  No: 106607  IP: [192.*.*.*]

数値の桁あわせ等、レイアウト調整にはformat関数を使うのが
一般的です。

文字の桁あわせはlen関数で文字長を調べ、規定の文字数に足りない
場合はその分space関数またはstring関数で空白を補うというのが一般的
じゃないかと思います。

どちらも詳しくは書きませんが、あとはヘルプやwebで探してみれば
わかると思いますので、頑張ってみてください。

ちなみに、やってみるとわかると思いますが、文字の桁あわせ
の方で、全角・半角が混在している時には少し注意が必要です。

編集 削除
入門生  2003-04-09 17:46:01  No: 106608  IP: [192.*.*.*]

ぢゃわさん、ありがとうございました。
色々、調べてやってみます。

編集 削除