DBMS_XPLAN 패키지에는 숫자 값의 포맷팅할 수 있는 다수의 함수가 포함되어 있습니다. 참고로 이 함수들은 문서화되지 않았습니다.
FORMAT_NUMBER, FORMAT_NUMBER2 함수는 숫자 값을 1000 기준의 SI 단위 문자 값으로 포맷팅합니다. SI 단위는 대문자로 표시됩니다.
-- 1
SELECT POWER (10, ROWNUM) AS c1
, DBMS_XPLAN.FORMAT_NUMBER (POWER (10, ROWNUM)) AS c2
, DBMS_XPLAN.FORMAT_NUMBER2 (POWER (10, ROWNUM)) AS c3
FROM XMLTABLE ('1 to 10');
C1 C2 C3
----------- ----- -----
10 10 10
100 100 100
1000 1000 1K
10000 10000 10K
100000 100K 100K
1000000 1000K 1M
10000000 10M 10M
100000000 100M 100M
1000000000 1000M 1G
10000000000 10G 10G
10 행이 선택되었습니다.
FORMAT_SIZE, FORMAT_SIZE2 함수는 숫자 값을 1024 기준의 SI 단위 문자 값으로 포맷팅합니다. SI 단위는 소문자로 표시됩니다.
-- 2
SELECT POWER (8, ROWNUM) AS c1
, DBMS_XPLAN.FORMAT_SIZE (POWER (8, ROWNUM)) AS c2
, DBMS_XPLAN.FORMAT_SIZE2 (POWER (8, ROWNUM)) AS c3
FROM XMLTABLE ('1 to 10');
C1 C2 C3
---------- ----- -----
8 8 8
64 64 64
512 512 512
4096 4096 4k
32768 32768 32k
262144 256K 256k
2097152 2048K 2m
16777216 16M 16m
134217728 128M 128m
1073741824 1024M 1g
10 행이 선택되었습니다.
FORMAT_TIME_S 함수는 초 단위의 숫자 값을 HH:MI:SS 형식의 문자 값으로 포맷팅합니다. 표시 가능한 최대 값은 999:59:59로 보입니다. FORMAT_TIME_S 함수 대신 NUMTODSINTERVAL 함수를 사용하면 초 단위의 숫자 값을 INTERVAL DAY TO SECOND 타입으로 변환할 수 있습니다.
-- 3
SELECT POWER (6, ROWNUM) AS c1
, DBMS_XPLAN.FORMAT_TIME_S (POWER (6, ROWNUM)) AS c2
, SUBSTR (NUMTODSINTERVAL (POWER (6, ROWNUM), 'SECOND'), 8, 12) AS c3
FROM XMLTABLE ('1 to 10');
C1 C2 C3
-------- ---------- ------------
6 00:00:06 000 00:00:06
36 00:00:36 000 00:00:36
216 00:03:36 000 00:03:36
1296 00:21:36 000 00:21:36
7776 02:09:36 000 02:09:36
46656 12:57:36 000 12:57:36
279936 77:45:36 003 05:45:36
1679616 466:33:36 019 10:33:36
10077696 999:59:59 116 15:21:36
60466176 999:59:59 699 20:09:36
10 행이 선택되었습니다.