画面に収まるように列幅を設定します
例:
column EMAIL_ADDR format a30
ここで、aは列幅です。 WRAを使用してcolumnegをラップできます
column EMAIL_ADDR format a30 WRA
またはTRU
切り捨てるには、WOR
単語の境界を破る
例:
SQL> select * from emp;
ID FIRST_NAME
---------- ------------------------------
LAST_NAME
------------------------------
EMAIL_ADDR
--------------------------------------------------
1 Dazza
Smith
[email protected]
したがって、email_addrが300文字に埋め込まれているため、出力を読み取るのは少し難しいです(私のテーブルでは、sql * plusが出力のフォーマットに使用するvarchar2(300)として定義されていたため)。
最初に適切な線のサイズを設定します:
SQL> set linesize 100
次に、1行に収まるように列を設定します(行サイズは列の合計幅よりも大きくする必要があります):
SQL> column email_addr format a30
SQL> column last_name format a20
SQL> column first_name format a20
SQL> select * from emp;
ID FIRST_NAME LAST_NAME EMAIL_ADDR
---------- -------------------- -------------------- ------------------------------
1 Dazza Smith [email protected]
これで、カラムは適度なサイズの端子に簡単に収まります。
あなたの場合、first_name
およびlast_name
varchar2(50)ですが、その中のデータははるかに小さいので、column first_name format a15
から始めます。 (last_nameについても同じです)。メールの場合、列はvarchar2(100)ですが、最大サイズの出力は25文字なので、column email format a25
手始めに。
これを行うと、次のような出力が得られます(行サイズが十分に大きい場合)。
SQL> select * from xtern_empl_rpt ;
EMP LAST_NAME FIRST_NAME SSN EMAIL_ADDR YEARS_OF_SERVICE
--- --------------- -------------- --------- ------------------------- ----------------
001 Hutt Jabba 896743856 [email protected] 18
最後に要求に応じて。 WRA
TRU
およびWOR
。 WRA
ちなみに、はデフォルトなので、使用する必要はありませんが、次のようになります。
SQL> select * from test;
A
--------------------------------------
THIS IS A SIMPLE WRAPPING TEST
しかし、これを10文字の幅としてフォーマットしたかったのです:
S
QL> col a format a10 WRA
SQL> select * from test;
A
----------
THIS IS A
SIMPLE WRA
PPING TEST
WRA
単語の途中であるかどうかに関係なく、文字列を10文字で切り刻むことを意味します。単語の終わりだけで中断したい場合(10を超える単語はまだ中断する必要があるため、可能な場合):
SQL> col a format a10 WOR
SQL> select * from test;
A
----------
THIS IS A
SIMPLE
WRAPPING
TEST
現在、出力は単語の境界で分割されており、必ずしも10文字で分割されているとは限りません。
最初の10文字だけが必要で、行の折り返しが必要ない場合は、TRU
を使用できます。 :
SQL> col a format a10 TRU
SQL> select * from test;
A
----------
THIS IS A