この記事では関数のカラムに対してカラムのフォーマットを行う方法について解説します。
関数のカラムをフォーマットする方法
SQL*PlusではCOLコマンドを使用してカラムのフォーマットを行うことができます。
ただし、COLコマンドはカラム名に対して直接適用されるため、関数の結果に対して直接使用することができません。
関数の結果列をフォーマットしたい場合は、関数の結果に別名を付け、その別名に対してCOLコマンドを使用することで実現できます。
使用例
表領域の使用率を求めるSQLで関数に「USED(%)」の別名を付けて、COLコマンドでフォーマットします。
SQL> col used(%) for 9999999.99
SQL> select a.TABLESPACE_NAME, round((min(a.BYTES)/(1024*1024) - sum(b.BYTES)/(1024*1024))/(min(a.BYTES)/1024/1024)*100,2) "USED(%)"
2 from dba_data_files a, dba_free_space b
3 where a.FILE_ID = b.FILE_ID
4 group by a.TABLESPACE_NAME;
TABLESPACE_NAME USED(%)
--------------- -----------
SYSTEM 99.39
SYSAUX 94.16
UNDOTBS1 11.04
USERS 53.75
関数の結果列に対してカラムのフォーマットを行うことができました。