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