SQLclまたはSQL*Plusを使用してOracleデータベースに対してクエリを実行すると、結果はSQLFORMATに従って表示されます。 オプション。しかし、その中には、結果の形式をカスタマイズするためにできることが他にもあります。
実行できることの1つは、出力グリッドの列区切り文字を指定することです。
これにより、出力グリッドをグリッド(またはテーブル)のように設定し、列を一種の垂直方向の境界線でより明確に定義できます。
デフォルトの列区切り文字は単一の空白スペースです。以下に、列の区切り文字をより見やすい区切り記号に変更する方法を示します。
デフォルトのセパレーター
まず、SQLFORMATを設定しましょう DEFAULTへ :
SET SQLFORMAT DEFAULT;
これにより、以前のすべてのSQLFORMATがクリアされます 設定し、デフォルトの出力に戻ります。
次に、デフォルトの列区切り文字がどのように表示されるかを見てみましょう。
SELECT
employee_id,
first_name,
last_name,
job_id
FROM EMPLOYEES
ORDER BY employee_id ASC
FETCH FIRST 5 ROWS ONLY; 結果:
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 前述のように、デフォルトの列区切り文字は単一のスペースです。
変更しましょう。
カラムセパレータを設定する
列区切り文字をパイプ記号(|)に設定しましょう ):
SET COLSEP '|' それでは、クエリをもう一度実行してみましょう:
SELECT
employee_id,
first_name,
last_name,
job_id
FROM EMPLOYEES
ORDER BY employee_id ASC
FETCH FIRST 5 ROWS ONLY; 結果:
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 これで、パイプ記号が列の垂直境界線のように表示されます。
必要に応じて、これらの境界線の周囲にスペースを追加できます:
SET COLSEP ' | ' それでは、クエリをもう一度実行してみましょう:
SELECT
employee_id,
first_name,
last_name,
job_id
FROM EMPLOYEES
ORDER BY employee_id ASC
FETCH FIRST 5 ROWS ONLY; 結果:
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