Oracle
 sql >> Database >  >> RDS >> Oracle

Come aggiungere bordi verticali alla griglia di output SQL*Plus / SQLcl

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