Når du kører en forespørgsel mod en Oracle-database ved hjælp af SQLcl eller SQL*Plus, vises resultaterne i henhold til SQLFORMAT mulighed. Men inden for det er der andre ting, du kan gøre for at tilpasse formatet af resultaterne.
En af de ting, du kan gøre, er at angive en kolonneseparator for outputgitteret.
Dette giver dig mulighed for at indstille dit outputgitter til at ligne et gitter – eller en tabel – med dets kolonner mere klart defineret med en slags lodret kant.
Standard kolonneseparator er et enkelt tomt mellemrum. Nedenfor viser jeg dig, hvordan du ændrer kolonneseparatoren til en mere synlig separator.
Standardseparatoren
Lad os først indstille SQLFORMAT til DEFAULT :
SET SQLFORMAT DEFAULT;
Det rydder alle tidligere SQLFORMAT indstillinger og vender tilbage til standardoutputtet.
Lad os nu se, hvordan standardkolonneseparatoren ser ud:
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ævnt er standard kolonneseparator et enkelt mellemrum.
Lad os ændre det.
Indstil kolonneseparatoren
Lad os indstille kolonneseparatoren til rørsymbolet (| ):
SET COLSEP '|' Og lad os nu køre forespørgslen 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 vises rørsymbolet som lodrette rammer for kolonnerne.
Vi kan tilføje ekstra plads omkring disse kanter, hvis det ønskes:
SET COLSEP ' | ' Og lad os nu køre forespørgslen 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