PR

Oracle Database SQL*Plusの区切り文字を変更する方法

スポンサーリンク
ORACLE

SQL*PlusでSELECTをする際のデフォルトの区切りはスペースです。

今回はこの区切り文字を変更する方法を二種類紹介します。

SQL*Plusでのデフォルトの表示

SQL*Plusのデフォルトの区切り文字はスペースです。以下は表領域とそれに属するテーブルを一覧として表示するSQLです。

SQL> col tablespace_name for a15
SQL> col table_name for a15
SQL> select tablespace_name, table_name from user_tables;

TABLESPACE_NAME TABLE_NAME
--------------- ---------------
USERS           SAMPLE1
USERS           SAMPLE2
USERS           SAMPLE3
USERS           SAMPLE4
USERS           SAMPLE5

 

カンマ区切り(CSV形式)で固定長表示

固定長で表示させたい場合は set colsep ‘<区切り文字>’ で区切り文字を変えます。以下はカンマで区切った例です。

SQL> set colsep ','
SQL> select tablespace_name, table_name from user_tables;

TABLESPACE_NAME,TABLE_NAME
---------------,---------------
USERS          ,SAMPLE1
USERS          ,SAMPLE2
USERS          ,SAMPLE3
USERS          ,SAMPLE4
USERS          ,SAMPLE5

 

カンマ区切り(CSV形式)で可変長にして表示

SELECTする項目を ||'<区切り文字>’|| で連結させると、余分な空白が削除された状態で表示されます。以下も同じようにカンマで区切った例となります。

私がExcel等でデータを整形する時はこの方法が一番多い気がします。

SQL> select tablespace_name ||','|| table_name from user_tables;

TABLESPACE_NAME||','||TABLE_NAME
---------------------------------------------------------------------------------------------------------------------------------------------------------------
USERS,SAMPLE1
USERS,SAMPLE2
USERS,SAMPLE3
USERS,SAMPLE4
USERS,SAMPLE5