SQL*PLUSで列幅変更する方法

このQ&Aのポイント
  • ORACLE9iを使用している者ですが、SQL*PLUSで列幅指定する方法について教えてください。
  • 「SELECT HOGEKBN AS ほげほげ区分 FROM HOGE_TABLE」の実行結果に、列名である"ほげほげ区分"を表示したいです。
  • 「COLUMN ほげほげ区分 FORMAT A20」としたところ、エラーメッセージが出てしまいます。どのようにすれば良いでしょうか?
回答を見る
  • ベストアンサー

SQL*PLUSで列幅変更したい。

こんにちわ。 いまORACLE9iを使用している者です。 SQL*PLUSで, つぎのようなSELECT文を発行しました。 「SELECT HOGEKBN AS ほげほげ区分 FROM HOGE_TABLE」 「HOGEKBN」は1桁のデータなので, 実行結果に列名である"ほげほげ区分"が表示されません。 これを表示したいと思い, 「 SELECT HOGEKBN AS ほげほげ区分 FROM HOGE_TABLE COLUMN ほげほげ区分 FORMAT A20 」 としたところ, COLUMN~の行で, "ORA-00933: SQLコマンドが正しく終了されていません。" というエラーメッセージが出てしまいます。 SQL*PLUSで列幅指定するにはどうすれば良いでしょうか? 教えてください。よろしくお願いします。

  • Oracle
  • 回答数1
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

http://biz.rivus.jp/sqlplus/command/index.html SQL*Plusのコマンドなので、SQLとは別でじっこうする必要があります。 COLUMN ほげほげ区分 FORMAT A20 を実行しておいてから SELECT HOGEKBN AS ほげほげ区分 FROM HOGE_TABLE; を実行してください。

tatsurou
質問者

お礼

okg00さん 回答ありがとうございます。 教えて頂いたページを見て, 正しく列幅を変更することができました。

関連するQ&A

  • SQLで行番号を表示する方法

    OracleのDBにSQL Plusで接続して、結果を表示します。 このとき、選択された行に1、2、3と番号を振る方法を教えてください。 Select ???, column1, column2 from table_name; ↑このSQLで、???の部分に何かを指定すると、↓こんな結果が出たと思います。 ??? column1 colmun2 ------------------------- 1 data11 data21 2 data12 data22 3 data13 data23 : : : このようにする方法があったと思うんですが、調べても見つかりませんでした。 ご存知の方がいたら教えてください。

  • ORA-14459: GLOBALキーワードがありません。

    ORA-14459: GLOBALキーワードがありません。 以下のSQLを実行したところエラーになりました。 GLOBALキーワードとは何でしょうか?原因を教えてください。 SQL> CREATE TEMPORARY TABLE TEST AS SELECT SYSDATE FROM DUAL; CREATE TEMPORARY TABLE TEST AS SELECT SYSDATE FROM DUAL * 行1でエラーが発生しました。: ORA-14459: GLOBALキーワードがありません。 ORACLE 10g Windows 2008

  • oracle10g(10.2.0.1.0)のsql*plusでの出力について

    質問させていただきます。 sql*plusを使用して以下のような簡単なテーブルを作成しました。  create table XXX_TBL ( NUM NUMBER(3), NAME CHAR(5)); データをINSERT後、SELECT * FROM XXX_TBLで内容を表示したところ、 以下のように表示されました。  NUM              NAME  ---------- ---------------                1  test NAMEはCHAR(5)で作成したにもかかわらず、---の 数が15もあります。 oracle9iでは、CHAR(5)の場合の---の数は5でした。 上記例では、2項目しかないためsql*plusで出力しても 気になりませんが、項目数を増やし、またカラムサイズを 大きくした場合に、見づらくなってしまいます。 何らかのパラメータの設定を変更すればよいのかと思い、 いろいろと調べて見ましたがわかりませんでした。 ご教授願います。

  • SQLデバッガソフトってありますか?

    オラクルのORA-00904: 列名が無効です。 というエラーが表示されますが、他人の作った ものすごい長いSQLで どこが悪いのか見当もつきません。 オラクルに限らず、SQLの何行目のこの辺が おかしい等の 妥当性をプログラムのエラーのように チェックするソフトはありますでしょうか?

  • SQL文について

    テーブルの結合について教えてください。 (DBはオラクルです) select * from table1,table2 where table1.カラム名=table2.カラム名; で、結合が出来ることは分かりました。 やりたいことはテーブルの結合と、ある期間のデータを持ってきたいのです。 select カラム名 from table1 where カラム名 between '20020213' and '20020218'; で期間を決めて引き出すやり方も分かっています。 一度に結合と期間を決めて引き出すやりかたってどうすればよいですか? それとも不可能ですか? 教えてください。

  • Shell SQL*Plus終了後の処理

    ShellでSQL*PLUSを実行した時に SQL実行後にShellの処理が行われません。 処理内容:Truncateした後にSQL*Loderで再度データを流し込みを行う。 <Script> echo "S" sqlplus $ora_pass << EOF > $scrLOG truncate table W_TableA ; truncate table W_TableB ; select 'OK!' from dual ; Exit EOF echo "E" cat $scrLOG sqlldr $ora_pass $inv_ctl $inv_log 上記のScriptでEcho ”S”はDOS画面に表示されますが、 SQL実行後にEcho ”E”が出力されません。 ”S”出力後は通常のコマンド入力画面が表示されます。 何がいけないのでしょうか? どなたかわかる方がいればご教示いただきたいです。

  • TIMESTAMP型が含まれるテーブルの列名の取得

    Oracle 11gを使用しているSQL初心者です。 テーブルの列名を取得する方法についての質問です。 テーブルの列名を取得するときは以下のSQLで取れると思っています。 select column_name from user_tab_columns where table_name = 'テーブル名'; --実行結果-- COLUMN_NAME ------------------------------ NAME1 NAME2 しかし、テーブルにTIMESTAMP型が含まれていると 「レコードが選択されませんでした。」 と表示されます。 TIMESTAMP型が含まれるテーブルは上記のSQLでは取得できないのでしょうか。 TIMESTAMP型が含まれるテーブルの列名の取得方法をご存知の方がいらっしゃいましたら、 ご教示ください。よろしくお願い致します。

  • お世話になってます。

    お世話になってます。 SQL初心者です。 現在、ORACLEでSQLを作成しているのですが、「ORA-00920」と「ORA-02063」が 発生し困っています。 「ORA-02063」の原因は調べてみると「ORA-00920」が原因の可能性があるみたいです。 「ORA-00920」のメッセージには「関係演算子が無効です。」とありますが、 調べてみてもよくわかりません。 実行するSQLは以下のような感じです。 ■SQL文 with テーブルA as( SELECT文   取得カラムA, 取得カラムB, 取得カラムC ), テーブルB as(   取得カラムA, 取得カラムB, 取得カラムC ) SELECT * FROM テーブルA A_TABLE, テーブルB B_TABLE WHERE A_TABLE.取得カラムA = B_TABLE.取得カラムA (+) AND A_TABLE.取得カラムB = B_TABLE.取得カラムB (+) AND A_TABLE.取得カラムC = B_TABLE.取得カラムC (+) ***ココマデ*** ビューの作成はうまくいっているのですが、 テーブルAとテーブルBを使用したSQL文でエラーになっているようです。

  • SQL*PLUSでの分秒までの表示の仕方

    お世話になっております。 Oracle SQL*PLUSでデータを打ち込んでいるところなのですが、 表示の仕方で分からないところがあるので、 どなたか教えていただけないでしょうか? date型で指定して日付カラムを作ったところに TO_DATE('2009-01-02 10:00:10','YYYY-MM-DD HH24:MI:SS'), と入力したのですが、select文でデータを検索したところ DATE -------- 09-01-02 と返ってきました。これを分、秒まで表示させるには どうしたらよいでしょうか?? よろしくお願いいたします。

  • SQL-Server 6.5で最初の数行を抽出するには?

    SQL-Server 6.5で最初の数行を抽出するにはどのようにすればよろしいでしょうか? Oracleの場合、 SELECT * FROM TABLE_NAME WHERE ROWNUM <= 10; JETの場合、 SELECT TOP 10 * FROM TABLE_NAME; ですが、これをSQL-Serverで行う場合をご教授下さい。