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
example@sqldat.com
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 example@sqldat.com
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 example@sqldat.com 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