format_bytes
将字节数转换为带有适当单位(B、KB、MB、GB、TB、PB、EB)的易读字符串。
此函数用于以用户友好的格式显示文件大小、表大小、内存使用情况和其他与存储相关的指标。它使用基于1024的计算(二进制前缀),但为了简单和习惯,显示单位为KB、MB、GB。
此函数从v3.4开始支持。
语法
VARCHAR format_bytes(BIGINT bytes)
参数
bytes:要格式化的字节数。支持BIGINT。必须是非负整数值。
返回值
返回一个VARCHAR值,表示带有适当单位的格式化字节大小。
- 对于小于1024的值:返回带有“B”(字节)的确切数字
- 对于较大的值:返回带有2位小数和适当单位(KB、MB、GB、TB、PB、EB)的格式化字符串
- 如果输入为负或NULL,则返回NULL
使用说明
- 该函数内部使用基于1024的(二进制)计算(1 KB = 1024字节,1 MB = 1024²字节,等等)
- 单位显示为KB、MB、GB、TB、PB、EB以迎合用户习惯,尽管它们代表二进制前缀(KiB、MiB、GiB等)
- 大于或等于1 KB的值以精确到2位小数显示
- 字节值(小于1024)以整数显示,不带小数位
- 负值返回NULL
- 支持的最大值为8 EB(艾字节),覆盖BIGINT的完整范围