Formatowanie tabeli wyników w CLI SQL*PLUS
Komendy wpisujemy w aktualnym oknooknie SQL*Plus, ustawienia są aktywne tylko per sesja. W razie potrzeby stałe ustawienia należy wpisać do qlogin.sql.
Ustawianie szerokości linii:
Jeżeli chcemy ustawić maksymalną liczbę znaków wyświetlanych w jednym wierszu wyników, używamy polecenia:
SET LINESIZE 500
Liczba wierszy na stronę:
SQL*Plus domyślnie powtarza nagłówki tabeli co pewną liczbę wierszy. Możemy to kontrolować za pomocą:
SET PAGESIZE 100
Formatowanie kolumn - szerokość komuny
COLUMN [NAZWAKOLUMNY] FORMAT A52
COLUMN [NazwaKolumnyLiczbowej] FORMAT 999999
FORMAT AXX - Oznacza ilość znaków w nazwie kolumny
FORMAT XXXXXXX (numery) - Oznacza ilość wyświetlonych znaków liczb.
Zmiana nazw nagłówków kolumn
Jeżeli chcemy, aby kolumny miały czytelniejsze bądź inne nagłówki, możemy użyć:
COLUMN [NazwaKolumny] HEADING '[DocelowaNazwyKolumny]'
Alias dla kolumn - formatowanie poprzez AS
Jeżeli chcemy zmienić nazwę kolumny bez ingerencji w nagłówki, możemy użyć aliasu w zapytaniu:
SELECT
[NazwaKolumny] AS "DocelowaNazwaKolumny",
[NazwaKolumny_w_Bajtach]/1024/1024 AS "NazwaKolumny_W_MB",
FROM [NazwaTabeli];
[NazwaKolumny_w_Bajtach]/1024/1024 AS "NazwaKolumny_W_MB" - oznakowanie /1024/1024 wskazuje podwójne podzielenie wartości bajtów poprzez 1024 co daje najpierw kilobajty a później megabajty.W
Wyłączenie nagłówków co każdą stronę
Przy większych wynikach, co 10 wierszy SQL*Plus dodaje nagłówki kolumn, co może przeszkadzać w diagnostyce:
SET HEADING ON
SET FEEDBACK OFF
Usuwanie zbędnych "białych" znaków
SQL*Plus domyślnie dodaje spacje na końcu wierszy i używa tabulatorów. Możemy to wyłączyć:
SET TRIMSPOOL ON
SET TAB OFF
Konwersja typu danych
Jest używany, gdy chcemy jawnie określić typ danych kolumny, np. wymusić określoną długość tekstu dla danych typu varchar
CAST(wyrażenie AS nowy_typ)
Dla ułatwienia można przyjąć że wyrażenie to nazwa kolumny, przykład:
CAST(FILE_NAME AS VARCHAR2(52)) AS "Sciezka do pliku"
Pobieranie części tekstu - ucinanie tekstu
Jest używany gdy chcemy całkowicie uciąć kawałek pobieranego tekstu
SUBSTR(tekst, pozycja_startowa, liczba_znaków)
Przykład:
SUBSTR(FILE_NAME, 1, 20) AS "Sciezka do Pliku"
Konwersja liczb i dat na tekst
Jest używany gdy chcemy przekonwertować dany wynik liczbowy na tekst (np. dodać do niego końcówkę jednostki bądź spację)
TO_CHAR(wyrażenie, 'format')
Przykład:
TO_CHAR(bytes/1024/1024, '999999') AS "Size (MB)"
Zmiana separatora kolumn w wynikach
SET COLSEP 'znak'
Przykład:
SET COLSEP ' | '
Przykład wykorzystania:wykorzystania formatowania wyników:
SET LINESIZE 500
SET PAGESIZE 50
SET TRIMSPOOL ON
SET TAB OFF
SET WRAP OFF
SET COLSEP ' | '
COLUMN FILE_NAMEFILE_PATH FORMAT A52 HEADING 'FileSciezka Path'do pliku'
COLUMN FILESIZE_MBSIZE_MB FORMAT 999999 HEADING 'Size_MB'Rozmiar pliku w MB'
COLUMN MAX_FILESIZE_MBMAX_SIZE_MB FORMAT 999999 HEADING 'Max_Size_MB'Maksymalny rozmiar pliku w MB'
COLUMN AUTAUTO_EXTEND FORMAT A4A10 HEADING 'Auto'Automatyczne powiekszenie pliku'
SELECT
CAST(FILE_NAME file_nameAS VARCHAR2(52)) AS "FileSciezka Path"do pliku",
bytes/1024/1024 AS "Size_MB"Rozmiar pliku w MB",
maxbytes/1024/1024 AS "Max_Size_MB"Maksymalny rozmiar pliku w MB",
CAST(autoextensible AS AUTVARCHAR2(25)) AS "Automatyczne powiekszenie pliku"
FROM dba_data_files;
