задайте ширините на колоните си, за да се поберат в екрана
напр.:
column EMAIL_ADDR format a30
където a е ширината на колоната на hte. можете да използвате WRA, за да обвиете колоната
column EMAIL_ADDR format a30 WRA
или TRU
за съкращаване, WOR
за нарушаване на границите на думи
например:
SQL> select * from emp;
ID FIRST_NAME
---------- ------------------------------
LAST_NAME
------------------------------
EMAIL_ADDR
--------------------------------------------------
1 Dazza
Smith
[email protected]
така че изходът е малко труден за четене, тъй като email_addr беше подплатен до 300 знака (тъй като моята таблица го беше дефиниран като varchar2(300), който sql*plus използва за форматиране на изхода).
първо задайте подходящ размер на реда:
SQL> set linesize 100
сега нека зададем колоните така, че да се поберат на един ред (размерът на реда трябва да е по-голям от общите ширини на колоните):
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]
така че сега колоните се вписват лесно върху терминал с разумен размер.
във вашия случай first_name
и last_name
са varchar2(50), но данните в тях са много по-малки, така че бих започнал с column first_name format a15
(същото за фамилия). с имейл, вашата колона е varchar2(100), но максималният изходен размер е 25 символа, така че поставете column email format a25
за начало.
ако сте го направили, трябва да получите изход (ако размерът на реда е достатъчно голям) като:
SQL> select * from xtern_empl_rpt ;
EMP LAST_NAME FIRST_NAME SSN EMAIL_ADDR YEARS_OF_SERVICE
--- --------------- -------------- --------- ------------------------- ----------------
001 Hutt Jabba 896743856 [email protected] 18
накрая както е поискано. WRA
TRU
и WOR
. WRA
между другото е по подразбиране, така че не е нужно да го използвате, но да кажем, че имахме:
SQL> select * from test;
A
--------------------------------------
THIS IS A SIMPLE WRAPPING TEST
но исках да форматирам това като ширина от 10 знака:
S
QL> col a format a10 WRA
SQL> select * from test;
A
----------
THIS IS A
SIMPLE WRA
PPING TEST
WRA
означава просто да нарежете низа на 10 символа, независимо дали сме в средата на думата или не. ако искахме да прекъсваме САМО на окончанията на думи (където е възможно, тъй като дума> 10 все още трябва да се прекъсва):
SQL> col a format a10 WOR
SQL> select * from test;
A
----------
THIS IS A
SIMPLE
WRAPPING
TEST
сега изходът е нарушен на границите на думите, а не непременно на 10 символа.
ако искахме само първите 10 знака и без обвиване на редове, бихме могли да използваме TRU
:
SQL> col a format a10 TRU
SQL> select * from test;
A
----------
THIS IS A