类别:

字符串和二进制函数 (压缩/解压)

DECOMPRESS_BINARY

将压缩的 BINARY 输入参数解压缩。

另请参阅:

COMPRESSDECOMPRESS_STRING

语法

DECOMPRESS_BINARY(<input>, <method>)
Copy

实参

必填:

input

一个 BINARY 值(或表达式),其中包含使用 COMPRESS 中指定的压缩方法之一压缩的数据。

如果尝试将压缩的字符串而不是压缩的 BINARY 值解压,则不会收到错误,此时该函数将返回一个 BINARY 值。有关详细信息,请参阅下面的“使用说明”。

method

最初用于压缩 input 的压缩方法。有关压缩方法的列表,请参阅 COMPRESS

COMPRESS 方法不同,DECOMPRESS_BINARY 方法不要求您指定压缩级别。如果指定了压缩级别,DECOMPRESS_BINARY 会忽略它并使用实际的压缩级别。

返回

返回值的数据类型是 BINARY

使用说明

  • 如果压缩方法未知或无效,则查询将失败。

  • 压缩方法名称(例如 ZLIB)不区分大小写。

  • DECOMPRESS_BINARY 函数可以将最初为字符串格式的数据解压。但是,DECOMPRESS_BINARY 的输出仍然是 BINARY 而不是字符串。例如,SELECT DECOMPRESS_BINARY(COMPRESS('Hello', 'SNAPPY), 'SNAPPY') 返回一个 BINARY 值;如果显示该值,它将显示为 48656C6C6F,这是“Hello”的十六进制表示形式。为避免混淆,Snowflake 建议使用 DECOMPRESS_STRING 而不是 DECOMPRESS_BINARY 来解压字符串数据。

返回

包含已解压数据的 BINARY 值。

示例

这显示了将包含压缩值的 BINARY 数据解压的简单示例。

SELECT DECOMPRESS_BINARY(TO_BINARY('0920536E6F77666C616B65', 'HEX'), 'SNAPPY');
+-------------------------------------------------------------------------+
| DECOMPRESS_BINARY(TO_BINARY('0920536E6F77666C616B65', 'HEX'), 'SNAPPY') |
|-------------------------------------------------------------------------|
| 536E6F77666C616B65                                                      |
+-------------------------------------------------------------------------+
Copy
语言: 中文