GUNZIP

简介

GUNZIP 函数用于对 gzip 压缩的二进制数据进行解压缩。该函数接收 BINARY 类型的输入(必须是有效的 gzip 压缩数据),返回解压缩后的 BINARY 数据。常用于还原通过

gzip
gzip
函数压缩存储的数据,或解压缩外部传入的 gzip 格式数据。

语法

gunzip(expr)
gunzip(expr)

参数说明

  • expr
    expr
    : 需要进行 gzip 解压缩的输入数据,类型为 BINARY。该数据必须是有效的 gzip 压缩格式。

返回结果

返回一个 BINARY 类型的值,表示经过 gzip 解压缩后的原始二进制数据。

使用示例

  1. 使用 gzip 压缩后再用 gunzip 解压缩,验证数据完整性(round-trip):

    SELECT CAST(gunzip(gzip(CAST('hello world' AS BINARY))) AS VARCHAR) AS res; +-------------+ | res | +-------------+ | hello world | +-------------+

  2. 对压缩数据进行解压缩并检查长度:

    SELECT length(gunzip(gzip(CAST('hello world' AS BINARY)))) AS decompressed_len; +------------------+ | decompressed_len | +------------------+ | 11 | +------------------+

  3. 当输入为 NULL 时:

    SELECT gunzip(NULL) AS res; +------+ | res | +------+ | NULL | +------+

注意事项

  • 输入参数必须为 BINARY 类型,且必须是有效的 gzip 压缩数据。如果输入数据不是有效的 gzip 格式,将会返回错误。
  • 当输入参数为 NULL 时,返回结果为 NULL。
  • 解压缩后的数据为 BINARY 类型,如需作为字符串使用,请使用
    CAST(expr AS VARCHAR)
    CAST(expr AS VARCHAR)
    进行类型转换。
  • 可使用
    gzip
    gzip
    函数对数据进行压缩,与
    gunzip
    gunzip
    配合使用实现数据的压缩与解压缩。
  • gunzip 是 gzip 的逆操作,
    gunzip(gzip(data))
    gunzip(gzip(data))
    将返回原始数据。
联系我们
预约咨询
微信咨询
电话咨询
邮件咨询