Quando esegui una query su un database Oracle utilizzando SQLcl o SQL*Plus, i risultati vengono visualizzati in base a SQLFORMAT opzione. Ma all'interno di questo, ci sono altre cose che puoi fare per personalizzare il formato dei risultati.
Una delle cose che puoi fare è specificare un separatore di colonna per la griglia di output.
Ciò ti consente di impostare la griglia di output in modo che assomigli di più a una griglia, oa una tabella, con le sue colonne più chiaramente definite con una sorta di bordo verticale.
Il separatore di colonna predefinito è un singolo spazio vuoto. Di seguito, ti mostro come cambiare il separatore di colonna in un separatore più visibile.
Il separatore predefinito
Per prima cosa, impostiamo SQLFORMAT a DEFAULT :
SET SQLFORMAT DEFAULT;
Ciò cancella tutti i precedenti SQLFORMAT impostazioni e torna all'output predefinito.
Ora, vediamo come appare il separatore di colonna predefinito:
SELECT
employee_id,
first_name,
last_name,
job_id
FROM EMPLOYEES
ORDER BY employee_id ASC
FETCH FIRST 5 ROWS ONLY; Risultato:
EMPLOYEE_ID FIRST_NAME LAST_NAME JOB_ID
----------- -------------------- ------------------------- ----------
100 Steven King AD_PRES
101 Neena Kochhar AD_VP
102 Lex De Haan AD_VP
103 Alexander Hunold IT_PROG
104 Bruce Ernst IT_PROG Come accennato, il separatore di colonna predefinito è un singolo spazio.
Cambiamo.
Imposta il separatore di colonne
Impostiamo il separatore di colonna sul simbolo pipe (| ):
SET COLSEP '|' E ora eseguiamo di nuovo la query:
SELECT
employee_id,
first_name,
last_name,
job_id
FROM EMPLOYEES
ORDER BY employee_id ASC
FETCH FIRST 5 ROWS ONLY; Risultato:
EMPLOYEE_ID|FIRST_NAME |LAST_NAME |JOB_ID
-----------|--------------------|-------------------------|----------
100|Steven |King |AD_PRES
101|Neena |Kochhar |AD_VP
102|Lex |De Haan |AD_VP
103|Alexander |Hunold |IT_PROG
104|Bruce |Ernst |IT_PROG Ora il simbolo del tubo viene visualizzato come bordi verticali per le colonne.
Possiamo aggiungere ulteriore spazio attorno a questi bordi, se lo desideri:
SET COLSEP ' | ' E ora eseguiamo di nuovo la query:
SELECT
employee_id,
first_name,
last_name,
job_id
FROM EMPLOYEES
ORDER BY employee_id ASC
FETCH FIRST 5 ROWS ONLY; Risultato:
EMPLOYEE_ID | FIRST_NAME | LAST_NAME | JOB_ID
----------- | -------------------- | ------------------------- | ----------
100 | Steven | King | AD_PRES
101 | Neena | Kochhar | AD_VP
102 | Lex | De Haan | AD_VP
103 | Alexander | Hunold | IT_PROG
104 | Bruce | Ernst | IT_PROG