FORMAT_BYTES (Lakehouse v2)
바이트 수를 적절한 단위(B, KB, MB, GB, TB, PB, EB)가 붙은 읽기 쉬운 문자열로 변환합니다. 1024 기반(이진) 계산을 사용합니다. 음수 또는 NULL 입력에는 NULL을 반환합니다.
Analyze 구문
섹션 제목: “Analyze 구문”func.format_bytes(<bytes>)Analyze 예제
섹션 제목: “Analyze 예제”func.format_bytes(123456789)
┌──────────────────────────────────┐│ func.format_bytes(123456789) │├──────────────────────────────────┤│ 117.74 MB │└──────────────────────────────────┘SQL 구문
섹션 제목: “SQL 구문”FORMAT_BYTES(<bytes>)| 인수 | 설명 |
|---|---|
<bytes> |
형식을 지정할 바이트 수를 나타내는 음이 아닌 BIGINT 정수입니다. |
반환 형식
섹션 제목: “반환 형식”VARCHAR
SQL 예제
섹션 제목: “SQL 예제”기본 서식:
SELECT format_bytes(0);
┌──────────────────┐│ format_bytes(0) │├──────────────────┤│ 0 B │└──────────────────┘
SELECT format_bytes(123);
┌────────────────────┐│ format_bytes(123) │├────────────────────┤│ 123 B │└────────────────────┘
SELECT format_bytes(1024);
┌─────────────────────┐│ format_bytes(1024) │├─────────────────────┤│ 1.00 KB │└─────────────────────┘
SELECT format_bytes(4096);
┌─────────────────────┐│ format_bytes(4096) │├─────────────────────┤│ 4.00 KB │└─────────────────────┘
SELECT format_bytes(123456789);
┌───��──────────────────────┐│ format_bytes(123456789) │├──────────────────────────┤│ 117.74 MB │└──────────────────────────┘
SELECT format_bytes(10737418240);
┌────────────────────────────┐│ format_bytes(10737418240) │├────────────────────────────┤│ 10.00 GB │└────────────────────────────┘예외 상황:
SELECT format_bytes(-1);
┌───────────────────┐│ format_bytes(-1) │├───────────────────┤│ NULL │└───────────────────┘
SELECT format_bytes(NULL);
┌─────────────────────┐│ format_bytes(NULL) │├─────────────────────┤│ NULL │└─────────────────────┘정밀도와 반올림:
SELECT format_bytes(1536);
┌─────────────────────┐│ format_bytes(1536) │├─────────────────────┤│ 1.50 KB │└─────────────────────┘
SELECT format_bytes(1025);
┌─────────────────────┐│ format_bytes(1025) │├─────────────────────┤│ 1.00 KB │└─────────────────────┘
SELECT format_bytes(1048576 + 52429);
┌──────────────────────────────────┐│ format_bytes(1048576 + 52429) │├──────────────────────────────────┤│ 1.05 MB │└──────────────────────────────────┘전체 단위 범위:
SELECT format_bytes(512);
┌────────────────────┐│ format_bytes(512) │├────────────────────┤│ 512 B │└────────────────────┘
SELECT format_bytes(2048);
┌─────────────────────┐│ format_bytes(2048) │├─────────────────────┤│ 2.00 KB │└─────────────────────┘
SELECT format_bytes(1572864);
┌──────────────────────────┐│ format_bytes(1572864) │├──────────────────────────┤│ 1.50 MB │└──────────────────────────┘
SELECT format_bytes(2147483648);
┌────────────────────────────┐│ format_bytes(2147483648) │├────────────────────────────┤│ 2.00 GB │└────────────────────────────┘
SELECT format_bytes(1099511627776);
┌──────────────────────────────────┐│ format_bytes(1099511627776) │├──────────────────────────────────┤│ 1.00 TB │└──────────────────────────────────┘
SELECT format_bytes(1125899906842624);
┌─────────────────────────────────────┐│ format_bytes(1125899906842624) │├─────────────────────────────────────┤│ 1.00 PB │└─────────────────────────────────────┘
SELECT format_bytes(1152921504606846976);
┌────────────────────────────────────────┐│ format_bytes(1152921504606846976) │├────────────────────────────────────────┤│ 1.00 EB │└────────────────────────────────────────┘실무 테이블 모니터링:
CREATE TABLE storage_info ( table_name VARCHAR(64), size_bytes BIGINT);
INSERT INTO storage_info VALUES('user_profiles', 1073741824),('transaction_logs', 5368709120),('product_catalog', 524288000),('analytics_data', 2199023255552);
SELECT table_name, size_bytes, format_bytes(size_bytes) AS formatted_sizeFROM storage_infoORDER BY size_bytes DESC;
┌──────────────────┬───────────────┬────────────────┐│ table_name │ size_bytes │ formatted_size │├──────────────────┼───────────────┼────────────────┤│ analytics_data │ 2199023255552 │ 2.00 TB ││ transaction_logs │ 5368709120 │ 5.00 GB ││ user_profiles │ 1073741824 │ 1.00 GB ││ product_catalog │ 524288000 │ 500.00 MB │└──────────────────┴───────────────┴────────────────┘