【Oracle SQL*Plus】SELECT書式変更(表示幅):COLUMN(COL)コマンド
備忘録になります。
前提知識
- デフォルトの書式は各項目定義に依存する。
- 項目名に対して書式を定める。テーブルが異なっていても同一項目名ならCOLUMNコマンドで設定した書式が使われる。
- SELECTで指定した項目がCOLUMNコマンドにより書式設定されていても、異なる型の書式であれば採用されない。
書式変更:数値項目(NUMBER)
「COLUMN 項目名 FORMAT 999」※9の数+1が幅になる
SQL> DESC TEST_TABLE1;
名前 NULL? 型
----------------------------------------- -------- ----------------------------
ID NUMBER(10)
NAME VARCHAR2(10)
VAL1 NUMBER(10)
VAL2 VARCHAR2(10)
SQL> SELECT * FROM TEST_TABLE1;
ID NAME VAL1 VAL2
---------- ---------- ---------- ----------
1 NAME-A 1 A
2 NAME-B 2 B
3 NAME=C 3 C
SQL> COLUMN ID FORMAT 999
SQL> SELECT * FROM TEST_TABLE1;
ID NAME VAL1 VAL2
---- ---------- ---------- ----------
1 NAME-A 1 A
2 NAME-B 2 B
3 NAME=C 3 C
SQL> COLUMN ID FORMAT 9
SQL> SELECT * FROM TEST_TABLE1;
ID NAME VAL1 VAL2
-- ---------- ---------- ----------
1 NAME-A 1 A
2 NAME-B 2 B
3 NAME=C 3 C
指定した値より1文字分の余白が用意されているのは、マイナス(-)表示用の枠のようです。
書式変更:文字列(VARCHAR2)
「COLUMN 項目名 FORMAT A6」※A6なら6文字分の幅、A10なら10文字分の幅です。
SQL> DESC TEST_TABLE1;
名前 NULL? 型
----------------------------------------- -------- ----------------------------
ID NUMBER(10)
NAME VARCHAR2(10)
VAL1 NUMBER(10)
VAL2 VARCHAR2(10)
SQL> SELECT * FROM TEST_TABLE1;
ID NAME VAL1 VAL2
---------- ---------- ---------- ----------
1 NAME-A 1 A
2 NAME-B 2 B
3 NAME=C 3 C
SQL> COLUMN NAME FORMAT A6
SQL> SELECT * FROM TEST_TABLE1;
ID NAME VAL1 VAL2
---------- ------ ---------- ----------
1 NAME-A 1 A
2 NAME-B 2 B
3 NAME=C 3 C
書式クリア
「COLUMN 項目名 CLEAR」
SQL> SELECT * FROM TEST_TABLE1;
ID NAME VAL1 VAL2
---------- ------ ---------- ----------
1 NAME-A 1 A
2 NAME-B 2 B
3 NAME=C 3 C
SQL> COLUMN NAME CLEAR
SQL> SELECT * FROM TEST_TABLE1;
ID NAME VAL1 VAL2
---------- ---------- ---------- ----------
1 NAME-A 1 A
2 NAME-B 2 B
3 NAME=C 3 C
参考リンク
関連記事