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