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 행이 선택되었습니다.