ställ in dina kolumnbredder så att de passar på skärmen
t.ex.:
column EMAIL_ADDR format a30
där a är kolumnbredden. du kan använda WRA för att radbryta kolumnen
column EMAIL_ADDR format a30 WRA
eller TRU
för att trunkera, WOR
att bryta på ordgränser
till exempel:
SQL> select * from emp;
ID FIRST_NAME
---------- ------------------------------
LAST_NAME
------------------------------
EMAIL_ADDR
--------------------------------------------------
1 Dazza
Smith
[email protected]
så utdata är lite knepigt att läsa eftersom email_addr var utfylld till 300 tecken (som min tabell hade den definierad som varchar2(300) som sql*plus använder för att formatera utdata).
ställ först in en lämplig radstorlek:
SQL> set linesize 100
Låt oss nu ställa in kolumnerna så att de passar på en rad (linjestorleken bör vara större än den totala kolumnbredden):
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 passar kolonnerna lätt på en terminal av rimlig storlek.
i ditt fall first_name
och last_name
är varchar2(50) men data i dem är mycket mindre, så jag skulle börja med column first_name format a15
(samma för efternamn). med e-post är din kolumn varchar2(100) men maxstorleken för utdata var 25 tecken, så skriv column email format a25
till att börja med.
om du gjorde det, bör du få utdata (om linjestorleken är tillräckligt hög) 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
slutligen som begärt. WRA
TRU
och WOR
. WRA
är standard förresten, så du behöver inte använda det men låt oss säga att vi hade:
SQL> select * from test;
A
--------------------------------------
THIS IS A SIMPLE WRAPPING TEST
men jag ville formatera detta som 10 teckens bredd:
S
QL> col a format a10 WRA
SQL> select * from test;
A
----------
THIS IS A
SIMPLE WRA
PPING TEST
WRA
betyder att bara hugga strängen med 10 tecken, oavsett om vi är mitt i ett ord eller inte. om vi ENDAST ville bryta på ordändelser (där det är möjligt eftersom ett ord> 10 fortfarande måste bryta):
SQL> col a format a10 WOR
SQL> select * from test;
A
----------
THIS IS A
SIMPLE
WRAPPING
TEST
nu är utdata bruten vid ordgränser och inte nödvändigtvis vid 10 tecken.
om vi bara ville ha de första 10 tecknen och ingen radomslutning skulle vi kunna använda TRU
:
SQL> col a format a10 TRU
SQL> select * from test;
A
----------
THIS IS A