カテゴリ:

文字列とバイナリ関数 (圧縮/解凍)

DECOMPRESS_STRING

圧縮された BINARY 入力パラメーターを文字列に解凍します。

こちらもご覧ください:

COMPRESSDECOMPRESS_BINARY

構文

DECOMPRESS_STRING(<input>, <method>)

引数

必須:

入力

COMPRESS で指定された圧縮方法のいずれかを使用して圧縮されたデータを含む BINARY 値(または式)です。

方法

元々 入力 の圧縮に使用された圧縮方法です。圧縮方法のリストについては、 COMPRESS をご参照ください。

COMPRESS 方法とは異なり、 DECOMPRESS_STRING 方法では、圧縮レベルを指定する必要はありません。圧縮レベルを指定すると、 DECOMPRESS_STRING はそれを無視し、実際の圧縮レベルを使用します。

戻り値

解凍されたデータを含む文字列です。

使用上の注意

  • 圧縮方法が不明または無効な場合、クエリは失敗します。

  • ZLIB などの圧縮方法名では、大文字と小文字が区別されません。

  • DECOMPRESS_STRING を使用して、圧縮された文字列値ではなく、圧縮された BINARY 値を解凍しても、必ずしもエラーが発生するわけではありません。この関数は、 BINARY 値を16進数のシーケンスとして扱い、それらの16進数を印刷可能な文字に変換しようとします。元のデータが BINARY の場合、 DECOMPRESS_BINARY 関数を使用して圧縮データを解凍することをSnowflakeは推奨します。

これは、文字列を圧縮して元の値に戻す方法を示しています。

SELECT COMPRESS('Snowflake', 'SNAPPY');
+---------------------------------+
| COMPRESS('SNOWFLAKE', 'SNAPPY') |
|---------------------------------|
| 0920536E6F77666C616B65          |
+---------------------------------+
SELECT DECOMPRESS_STRING(TO_BINARY('0920536E6F77666C616B65', 'HEX'), 'SNAPPY');
+-------------------------------------------------------------------------+
| DECOMPRESS_STRING(TO_BINARY('0920536E6F77666C616B65', 'HEX'), 'SNAPPY') |
|-------------------------------------------------------------------------|
| Snowflake                                                               |
+-------------------------------------------------------------------------+