Comment embellir la sortie à venir de la requête SELECT dans l'invite de commande?
J'ai couru le simple select
requête dans l'invite de commande,mais les lignes de sortie ne viennent pas dans une seule ligne. Voir ci-dessous:
SQL> set pagesize 2000
SQL> select * from xtern_empl_rpt ;
EMP LAST_NAME
--- --------------------------------------------------
FIRST_NAME SSN
-------------------------------------------------- ---------
EMAIL_ADDR
--------------------------------------------------------------------------------
YEARS_OF_SERVICE
----------------
001 Hutt
Jabba 896743856
jabba@thecompany.com
18
002 Simpson
Homer 382947382
homer@thecompany.com
20
003 Kent
Clark 082736194
superman@thecompany.com
5
004 Kid
Billy 928743627
billythkid@thecompany.com
9
005 Stranger
Perfect 389209831
nobody@thecompany.com
23
006 Zoidberg
Dr 094510283
crustacean@thecompany.com
1
6 rows selected.
SQL>
Pourriez-vous svp m'aider à faire de chaque lignes en une seule ligne?
Modifier
J'ai essayé ci-dessous,mais n'est pas encore embellie.
SQL> SET LINESIZE 4000
SQL> select * from xtern_empl_rpt ;
EMP LAST_NAME FIRST_NAME
SSN EMAIL_ADDR
YEARS_OF_SERVICE
--- -------------------------------------------------- -------------------------
------------------------- --------- --------------------------------------------
-------------------------------------------------------- ----------------
001 Hutt Jabba
896743856 jabba@thecompany.com
18
002 Simpson Homer
382947382 homer@thecompany.com
20
003 Kent Clark
082736194 superman@thecompany.com
5
004 Kid Billy
928743627 billythkid@thecompany.com
9
005 Stranger Perfect
389209831 nobody@thecompany.com
23
006 Zoidberg Dr
094510283 crustacean@thecompany.com
1
6 rows selected.
SQL>
Vous devez vous connecter pour publier un commentaire.
définir votre largeurs de colonne pour tenir dans l'écran
par exemple:
où a est la largeur de la colonne. vous pouvez utiliser l'ARB pour envelopper la colonne
par exemple
ou
TRU
à tronquer,WOR
briser sur les limites de wordpar exemple:
de sorte que la sortie est un peu difficile à lire comme email_addr était collier de 300 caractères (comme ma table avait défini comme varchar2(300) qui sql*plus utilise pour le format de sortie).
premier jeu de linesize:
maintenant permet de définir les colonnes afin qu'elles puissent tenir sur une seule ligne (linesize devrait être plus élevé que le total de la col largeurs):
alors maintenant, les colonnes s'ajustent facilement sur une taille raisonnable terminal.
dans votre cas
first_name
etlast_name
sont varchar2(50)'s encore les données est beaucoup plus petit, donc, je commencerais aveccolumn first_name format a15
(même pour le nom). avec e-mail, votre colonne est varchar2(100) pourtant le max de la taille de la sortie était de 25 caractères, donc de mettrecolumn email format a25
pour un démarreur.si vous l'avez fait, vous devriez obtenir une sortie (si linesize est assez haut) comme:
enfin, comme demandé.
WRA
TRU
etWOR
.WRA
est par défaut par le chemin, donc vous n'avez pas à l'utiliser, mais disons que nous avons eu:mais je voulais formater ce que 10 caractères largeur:
S
la
WRA
signifie il suffit de hacher la chaîne de 10 caractères, indépendamment de savoir si nous sommes au milieu d'un mot ou pas. si on voulait casser SEULEMENT sur la fin des mots (si possible un mot > 10 a encore besoin de se rompre):maintenant la sortie est rompu aux limites des mots et pas nécessairement à 10 caractères.
si nous voulions seulement les 10 premiers caractères et pas de ligne d'emballage, nous pourrions utiliser
TRU
:WRA
,TRU
,WOR
?+1
merci.Cela devrait résoudre votre problème:
Essayez quelque chose comme:
(Ajuster
120
requis largeur maximale.)SPOOL
nom pour envoyer la sortie de la console à l' nom, etSPOOL OFF
pour arrêter la sortie de nom - voir docs.oracle.com/cd/B19306_01/server.102/b14357/ch12043.htm pour en savoir plus sur une BOBINE, et docs.oracle.com/cd/B19306_01/server.102/b14357/toc.htm pour le SQLPlus guide de Référence pour Oracle 10.2.