indstil dine kolonnebredder, så de passer til skærmen
f.eks.:
column EMAIL_ADDR format a30
hvor a er kolonnebredden. du kan bruge WRA til at ombryde kolonnen.
column EMAIL_ADDR format a30 WRA
eller TRU
for at afkorte, WOR
at bryde på ordgrænser
for eksempel:
SQL> select * from emp;
ID FIRST_NAME
---------- ------------------------------
LAST_NAME
------------------------------
EMAIL_ADDR
--------------------------------------------------
1 Dazza
Smith
[email protected]
så outputtet er lidt vanskeligt at læse, da email_addr var polstret til 300 tegn (som min tabel havde det defineret som varchar2(300), som sql*plus bruger til at formatere outputtet).
Indstil først en passende linjestørrelse:
SQL> set linesize 100
Lad os nu indstille kolonnerne, så de passer på én linje (linjestørrelsen skal være større end de samlede kolonnebredder):
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]
så nu passer søjlerne nemt på en terminal af rimelig størrelse.
i dit tilfælde first_name
og last_name
er varchar2(50), men dataene i dem er meget mindre, så jeg ville starte med column first_name format a15
(samme for efternavn). med e-mail er din kolonne varchar2(100), men det maksimale output var 25 tegn, så indsæt column email format a25
til at starte med.
hvis du gjorde det, skulle du få output (hvis linjestørrelsen er høj nok) som:
SQL> select * from xtern_empl_rpt ;
EMP LAST_NAME FIRST_NAME SSN EMAIL_ADDR YEARS_OF_SERVICE
--- --------------- -------------- --------- ------------------------- ----------------
001 Hutt Jabba 896743856 [email protected] 18
endelig som ønsket. WRA
TRU
og WOR
. WRA
er standard i øvrigt, så du behøver ikke bruge det, men lad os sige, at vi havde:
SQL> select * from test;
A
--------------------------------------
THIS IS A SIMPLE WRAPPING TEST
men jeg ønskede at formatere dette som 10 tegns bredde:
S
QL> col a format a10 WRA
SQL> select * from test;
A
----------
THIS IS A
SIMPLE WRA
PPING TEST
WRA
betyder bare at hakke strengen med 10 tegn, uanset om vi er midt i et ord eller ej. hvis vi KUN ønskede at bryde på ordendelser (hvor det er muligt, da et ord> 10 stadig skal bryde):
SQL> col a format a10 WOR
SQL> select * from test;
A
----------
THIS IS A
SIMPLE
WRAPPING
TEST
nu er output brudt ved ordgrænser og ikke nødvendigvis ved 10 tegn.
hvis vi kun ville have de første 10 tegn og ingen linjeombrydning, kunne vi bruge TRU
:
SQL> col a format a10 TRU
SQL> select * from test;
A
----------
THIS IS A