类别:

:doc:`/sql-reference/functions-string`(压缩/解压)

DECOMPRESS_STRING

将压缩的 BINARY 输入参数解压缩为字符串。

另请参阅:

COMPRESSDECOMPRESS_BINARY

语法

DECOMPRESS_STRING(<input>, <method>)
Copy

实参

必填:

input

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

method

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

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

返回

包含解压缩数据的字符串。

使用说明

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

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

  • 如果使用 DECOMPRESS_STRING 来解压缩压缩的 BINARY 值,而不是压缩的字符串值,则不一定会得到错误;相反,该函数尝试将 BINARY 值视为十六进制数字序列,然后尝试将这些十六进制数字转换为可打印字符。如果原始数据为 BINARY,Snowflake 建议您使用 DECOMPRESS_BINARY 函数来解压缩压缩数据。

示例

这显示了如何压缩字符串,然后解压缩回原始值。

SELECT COMPRESS('Snowflake', 'SNAPPY');
+---------------------------------+
| COMPRESS('SNOWFLAKE', 'SNAPPY') |
|---------------------------------|
| 0920536E6F77666C616B65          |
+---------------------------------+
Copy
SELECT DECOMPRESS_STRING(TO_BINARY('0920536E6F77666C616B65', 'HEX'), 'SNAPPY');
+-------------------------------------------------------------------------+
| DECOMPRESS_STRING(TO_BINARY('0920536E6F77666C616B65', 'HEX'), 'SNAPPY') |
|-------------------------------------------------------------------------|
| Snowflake                                                               |
+-------------------------------------------------------------------------+
Copy
语言: 中文