ustaw szerokość kolumn tak, aby zmieściły się na ekranie
np.:
column EMAIL_ADDR format a30
gdzie a jest szerokością kolumny. możesz użyć WRA, aby zawinąć kolumnę
column EMAIL_ADDR format a30 WRA
lub TRU
skrócić, WOR
przełamać granice słów
na przykład:
SQL> select * from emp;
ID FIRST_NAME
---------- ------------------------------
LAST_NAME
------------------------------
EMAIL_ADDR
--------------------------------------------------
1 Dazza
Smith
[email protected]
więc dane wyjściowe są nieco trudne do odczytania, ponieważ adres_e-mail został uzupełniony do 300 znaków (ponieważ moja tabela miała to zdefiniowane jako varchar2(300), którego sql * plus używa do sformatowania danych wyjściowych).
najpierw ustaw odpowiedni rozmiar linii:
SQL> set linesize 100
teraz ustawmy kolumny tak, aby mieściły się w jednej linii (rozmiar linii powinien być większy niż całkowita szerokość kolumn):
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]
więc teraz kolumny łatwo pasują do terminala o rozsądnej wielkości.
w twoim przypadku first_name
i last_name
są varchar2(50), ale dane w nich są znacznie mniejsze, więc zacząłbym od column first_name format a15
(tak samo dla nazwiska). z e-mailem, twoja kolumna to varchar2(100), ale maksymalny rozmiar danych wyjściowych to 25 znaków, więc umieść column email format a25
na początek.
jeśli to zrobiłeś, powinieneś otrzymać wynik (jeśli rozmiar linii jest wystarczająco wysoki) taki jak:
SQL> select * from xtern_empl_rpt ;
EMP LAST_NAME FIRST_NAME SSN EMAIL_ADDR YEARS_OF_SERVICE
--- --------------- -------------- --------- ------------------------- ----------------
001 Hutt Jabba 896743856 [email protected] 18
w końcu zgodnie z żądaniem. WRA
TRU
i WOR
. WRA
jest domyślna, więc nie musisz jej używać, ale powiedzmy, że mieliśmy:
SQL> select * from test;
A
--------------------------------------
THIS IS A SIMPLE WRAPPING TEST
ale chciałem sformatować to jako szerokość 10 znaków:
S
QL> col a format a10 WRA
SQL> select * from test;
A
----------
THIS IS A
SIMPLE WRA
PPING TEST
WRA
oznacza po prostu odetnij ciąg na 10 znaków, niezależnie od tego, czy jesteśmy w środku słowa, czy nie. gdybyśmy chcieli łamać TYLKO na końcach słów (jeśli to możliwe, ponieważ słowo> 10 nadal musi się złamać):
SQL> col a format a10 WOR
SQL> select * from test;
A
----------
THIS IS A
SIMPLE
WRAPPING
TEST
teraz dane wyjściowe są łamane na granicach słów, a niekoniecznie na 10 znakach.
gdybyśmy chcieli tylko pierwszych 10 znaków i bez zawijania linii, moglibyśmy użyć TRU
:
SQL> col a format a10 TRU
SQL> select * from test;
A
----------
THIS IS A