二进制类型(BINARY)
BINARY 类型用于存储原始字节序列,适合存储图像、音频、加密数据、序列化对象等不需要字符编码解释的二进制内容。最大写入长度默认 16 MB,可通过表属性调整。
选型建议
| 场景 | 推荐类型 | 原因 |
|---|---|---|
| 图像、音频、视频文件 | | 原始字节,无编码损耗 |
| 加密数据、哈希值 | | 保留原始字节序列 |
| 普通文本 | | 字符类型更易操作 |
| 大文件(>16MB) | Volume(对象存储) | BINARY 有大小限制,大文件用 Volume 存储路径 |
如需调整最大写入长度(如改为 32 MB):
语法
BINARY 类型的声明只需在列定义中使用关键字
BINARY:
BINARY 常量值
在 SQL 语句中,可以使用
X 前缀来构造 BINARY 常量值。例如:
上述语句将返回一个字节序列
[4]。X 后跟的 num 是一个或多个十六进制字符,范围从 0 到 F,支持大写或小写。例如:
将返回
[0a 41 3f]。
转换函数
Lakehouse 提供了多种函数来处理 BINARY 类型的数据,包括:
函数:将其他类型的数据转换为 BINARY 类型。CAST()
函数:将二进制数据转换为 BASE64 编码的字符串。BASE64()
函数:将 BASE64 编码的字符串转换为二进制数据。UNBASE64()
函数:将字符串转换为 BINARY 类型的字节流。BINARY()
约束限制
- BINARY 类型最大存储长度为 16 MB。
示例
以下是一些使用 BINARY 类型和相关函数的示例:
- 创建一个包含 BINARY 类型列的表:
- 向表中插入数据:
- 将字符串转换为 BINARY 类型并插入到表中:
- 查询表中的数据:
- 使用
函数将字符串转换为 BINARY 类型:CAST()
将返回
[43 6c 69 63 6b 5a 65 74 74 61]。
- 使用
和base64()
函数进行编码和解码:unbase64()
将返回
Q2xpY2taZXR0YQ==,然后使用 unbase64() 函数进行解码:
将返回原始字符串
ClickZetta。联系我们
