カテゴリ:

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

DECOMPRESS_BINARY

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

こちらもご覧ください:

COMPRESSDECOMPRESS_STRING

構文

DECOMPRESS_BINARY(<input>, <method>)

引数

必須:

入力

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

圧縮された BINARY 値ではなく、圧縮された文字列を解凍しようとしても、エラーは発生しません。関数は BINARY 値を返します。詳細については、以下の使用上の注意をご参照ください。

方法

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

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

戻り値

返される値のデータ型は BINARY です。

使用上の注意

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

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

  • DECOMPRESS_BINARY 関数は、元は文字列形式であったデータを解凍できます。ただし、 DECOMPRESS_BINARY の出力は文字列ではなく BINARY のままです。例えば、 SELECT DECOMPRESS_BINARY(COMPRESS('Hello', 'SNAPPY), 'SNAPPY')BINARY 値を返します。その値を表示する場合、「Hello」の16進数表現である 48656C6C6F として表示されます。混乱を避けるため、Snowflakeは、 DECOMPRESS_BINARY ではなく DECOMPRESS_STRING を使用して文字列データを解凍することをお勧めします。

戻り値

解凍されたデータを含む BINARY 値です。

これは、圧縮された値を含む BINARY データの簡単な解凍例を示しています。

SELECT DECOMPRESS_BINARY(TO_BINARY('0920536E6F77666C616B65', 'HEX'), 'SNAPPY');
+-------------------------------------------------------------------------+
| DECOMPRESS_BINARY(TO_BINARY('0920536E6F77666C616B65', 'HEX'), 'SNAPPY') |
|-------------------------------------------------------------------------|
| 536E6F77666C616B65                                                      |
+-------------------------------------------------------------------------+