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