stel uw kolombreedten in zodat ze op het scherm passen
bijv.:
column EMAIL_ADDR format a30
waarbij a de kolombreedte is. je kunt WRA gebruiken om de columneg in te pakken
column EMAIL_ADDR format a30 WRA
of TRU
om af te kappen, WOR
om woordgrenzen te doorbreken
bijvoorbeeld:
SQL> select * from emp;
ID FIRST_NAME
---------- ------------------------------
LAST_NAME
------------------------------
EMAIL_ADDR
--------------------------------------------------
1 Dazza
Smith
[email protected]
dus de uitvoer is een beetje lastig te lezen omdat email_addr is opgevuld tot 300 tekens (omdat mijn tabel het had gedefinieerd als varchar2(300) die sql*plus gebruikt om de uitvoer te formatteren).
stel eerst een geschikte lijngrootte in:
SQL> set linesize 100
laten we nu de kolommen zo instellen dat ze op één regel passen (lijngrootte moet groter zijn dan de totale colbreedten):
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]
dus nu passen de kolommen gemakkelijk op een terminal van redelijk formaat.
in jouw geval first_name
en last_name
zijn varchar2(50)'s, maar de gegevens erin zijn veel kleiner, dus ik zou beginnen met column first_name format a15
(zelfde voor achternaam). met e-mail is uw kolom varchar2(100) maar de maximale uitvoer was 25 tekens, dus gebruik column email format a25
voor een voorgerecht.
als je dat deed, zou je output moeten krijgen (als de lijngrootte hoog genoeg is) zoals:
SQL> select * from xtern_empl_rpt ;
EMP LAST_NAME FIRST_NAME SSN EMAIL_ADDR YEARS_OF_SERVICE
--- --------------- -------------- --------- ------------------------- ----------------
001 Hutt Jabba 896743856 [email protected] 18
eindelijk zoals gevraagd. WRA
TRU
en WOR
. WRA
is trouwens standaard, dus je hoeft het niet te gebruiken, maar laten we zeggen dat we hadden:
SQL> select * from test;
A
--------------------------------------
THIS IS A SIMPLE WRAPPING TEST
maar ik wilde dit formatteren als een breedte van 10 tekens:
S
QL> col a format a10 WRA
SQL> select * from test;
A
----------
THIS IS A
SIMPLE WRA
PPING TEST
de WRA
betekent dat je de string gewoon op 10 tekens hakt, ongeacht of we ons in het midden van een woord bevinden of niet. als we ALLEEN op woorduitgangen willen breken (waar mogelijk als een woord> 10 moet nog worden afgebroken):
SQL> col a format a10 WOR
SQL> select * from test;
A
----------
THIS IS A
SIMPLE
WRAPPING
TEST
nu wordt de uitvoer onderbroken bij woordgrenzen en niet noodzakelijk bij 10 tekens.
als we alleen de eerste 10 tekens en geen regelterugloop wilden, zouden we TRU
kunnen gebruiken :
SQL> col a format a10 TRU
SQL> select * from test;
A
----------
THIS IS A