configura el ancho de tus columnas para que quepa en la pantalla
por ejemplo:
column EMAIL_ADDR format a30
donde a es el ancho de columna. puede usar WRA para envolver el columneg
column EMAIL_ADDR format a30 WRA
o TRU
para truncar, WOR
romper los límites de las palabras
por ejemplo:
SQL> select * from emp;
ID FIRST_NAME
---------- ------------------------------
LAST_NAME
------------------------------
EMAIL_ADDR
--------------------------------------------------
1 Dazza
Smith
[email protected]
por lo que la salida es un poco difícil de leer ya que email_addr se rellenó a 300 caracteres (ya que mi tabla lo tenía definido como varchar2(300) que sql*plus usa para formatear la salida).
primero establezca un tamaño de línea apropiado:
SQL> set linesize 100
ahora configuremos las columnas para que quepan en una línea (el tamaño de línea debe ser mayor que el ancho total de las columnas):
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]
por lo que ahora las columnas encajan fácilmente en un terminal de tamaño razonable.
en tu caso first_name
y last_name
son varchar2 (50), pero los datos en ellos son mucho más pequeños, por lo que comenzaría con column first_name format a15
(lo mismo para last_name). con el correo electrónico, su columna es varchar2 (100) pero el tamaño máximo de salida fue de 25 caracteres, así que coloque column email format a25
para empezar.
si lo hizo, debería obtener una salida (si el tamaño de línea es lo suficientemente alto) como:
SQL> select * from xtern_empl_rpt ;
EMP LAST_NAME FIRST_NAME SSN EMAIL_ADDR YEARS_OF_SERVICE
--- --------------- -------------- --------- ------------------------- ----------------
001 Hutt Jabba 896743856 [email protected] 18
finalmente lo solicitado. WRA
TRU
y WOR
. WRA
por cierto, está predeterminado, por lo que no tiene que usarlo, pero digamos que teníamos:
SQL> select * from test;
A
--------------------------------------
THIS IS A SIMPLE WRAPPING TEST
pero quería formatear esto con un ancho de 10 caracteres:
S
QL> col a format a10 WRA
SQL> select * from test;
A
----------
THIS IS A
SIMPLE WRA
PPING TEST
el WRA
significa simplemente cortar la cadena en 10 caracteres, independientemente de si estamos en medio de una palabra o no. si quisiéramos dividir SOLO en las terminaciones de las palabras (cuando sea posible, ya que una palabra> 10 aún debe dividirse):
SQL> col a format a10 WOR
SQL> select * from test;
A
----------
THIS IS A
SIMPLE
WRAPPING
TEST
ahora la salida se divide en los límites de las palabras y no necesariamente en 10 caracteres.
si solo quisiéramos los primeros 10 caracteres y no ajustar la línea, podríamos usar TRU
:
SQL> col a format a10 TRU
SQL> select * from test;
A
----------
THIS IS A