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


入門生  2003-04-09 01:39:01  No: 106606

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

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

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


ぢゃわ  2003-04-09 22:51:45  No: 106607

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

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

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

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


入門生  2003-04-10 02:46:01  No: 106608

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加