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

oracle8iです。
データがスペースの場合正しく取り出せないことがあります。
たとえば

SQL> SELECT 第二連絡先 FROM 社員表;

社員表の第二連絡先はCHAR(100)、データない場合は100バイトのスペースを挿入しているんですが、
この100個のスペースが画面に正しく表示されないのです、99個だったり102個だったり、します。

みなさんはどうやって対応しているんですか。お願いします。

A 回答 (4件)

>SQL-PLUSからコピペする以外、何か方法ありますか?


これについては、spoolコマンドでSELECTの問合せ結果をファイルに出力する事ができると思いますが、spoolコマンドはお使いですか?(必要に応じて SQL*PLUSのシステム変数ECHO、LINESIZE、NUMWIDTH、PAGESIZE、PAUSEなどを設定して下さい)

「Oracle8i SQL*Plus ユーザーズ・ガイドおよびリファレンス」の「問合せ結果の格納および印刷」や spoolコマンドの説明を御覧ください。
    • good
    • 0

すいません。

まだ表示について納得いかないのですが。
sqlplus以外とはプログラムですか?
定期的に利用するとかなら
(1)win
・dosのバッチを作る
(2)unix
・shellを作る
(3)java言語,VC,PL/SQL…
指示があればサンプルの作り方教えましょうか。
    • good
    • 0

102個は無いと思うのですが。


例えば出力をわざと102個で試して下さい。
エラーになるはずです。
出力側に問題があると思います。言語等が分からない
のでなんとも言えませんが。
ちなみにスペースとは半角スペースの事ですよね。

この回答への補足

半角100個です。
メモリ上では正常です、ただ画面上で数が合わない。
全角(50個)だと100%正常に抽出されます。
要するにデータを抽出して、固定長ファイルを作成したいわけです。SQL-PLUSからコピペする以外、何か方法ありますか?
お願いします。

補足日時:2006/06/01 02:28
    • good
    • 0

第二連絡先は CHAR(100)で固定長ですが、データがない場合にスペースは常に正しく100バイトセットしているのでしょうか?


確認のため、select時に 第二連絡先 を16進表示してみるとか?

この回答への補足

間違いなく100バイトセットしています。
16進数でも正しく表示されます。
現在の対処法はスペースを「0」で埋めて、抽出後「0」をスペースで再び置き換えるようにしています。
お願いします。

補足日時:2006/05/30 02:58
    • good
    • 0

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