sql >> Databasteknik >  >> RDS >> Oracle

Så här lägger du till vertikala gränser till ditt SQL*Plus / SQLcl-utmatningsnät

När du kör en fråga mot en Oracle-databas med SQLcl eller SQL*Plus, visas resultaten enligt SQLFORMAT alternativ. Men inom det finns det andra saker du kan göra för att anpassa formatet på resultaten.

En av sakerna du kan göra är att ange en kolumnavgränsare för utmatningsrutnätet.

Detta gör att du kan ställa in ditt utdatarutnät så att det ser ut mer som ett rutnät – eller en tabell – med dess kolumner tydligare definierade med en sorts vertikal ram.

Standardkolumnavgränsaren är ett enda tomt utrymme. Nedan visar jag hur du ändrar kolumnavgränsaren till en mer synlig avgränsare.

Standardseparatorn

Låt oss först ställa in SQLFORMAT till DEFAULT :

SET SQLFORMAT DEFAULT;

Det rensar alla tidigare SQLFORMAT inställningar och återgår till standardutgången.

Nu ska vi se hur standardkolumnavgränsaren ser ut:

SELECT 
    employee_id,
    first_name,
    last_name,
    job_id
FROM EMPLOYEES
ORDER BY employee_id ASC
FETCH FIRST 5 ROWS ONLY;

Resultat:

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   

Som nämnts är standardkolumnavgränsaren ett enda mellanslag.

Låt oss ändra det.

Ställ in kolumnavskiljaren

Låt oss ställa in kolumnavgränsaren till rörsymbolen (| ):

SET COLSEP '|'

Och nu kör vi frågan igen:

SELECT 
    employee_id,
    first_name,
    last_name,
    job_id
FROM EMPLOYEES
ORDER BY employee_id ASC
FETCH FIRST 5 ROWS ONLY;

Resultat:

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   

Nu visas rörsymbolen som vertikala ramar för kolumnerna.

Vi kan lägga till extra utrymme runt dessa kanter om så önskas:

SET COLSEP ' | '

Och nu kör vi frågan igen:

SELECT 
    employee_id,
    first_name,
    last_name,
    job_id
FROM EMPLOYEES
ORDER BY employee_id ASC
FETCH FIRST 5 ROWS ONLY;

Resultat:

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   

  1. Ringer du Oracles lagrade procedur från C#?

  2. Hur man skapar SQL-spår för att fånga SQL Server-händelser

  3. Returnera operativsystemversionsinformation i SQL Server med vyn sys.dm_os_host_info Dynamic Management

  4. Postgres 9.1 vs Mysql 5.6 InnoDB?