カテゴリ:

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

COMPRESS

入力文字列またはバイナリ値を圧縮方法で圧縮します。

こちらもご覧ください:

DECOMPRESS_BINARYDECOMPRESS_STRING

構文

COMPRESS(<input>, <method>)

引数

必須:

入力

圧縮される BINARY または文字列値(または式)。

方法

圧縮方法とオプションの圧縮レベルを含む文字列です。サポートされている方法は次のとおりです。

  • SNAPPY.

  • ZLIB.

  • ZSTD.

  • BZ2.

圧縮レベルは括弧で指定されます(例: zlib(1))。圧縮レベルは負でない整数です。 0 はデフォルトレベルを意味します(圧縮レベルを省略するのと同じ)。方法が圧縮レベルをサポートしていない場合、圧縮レベルは無視されます。

戻り値

圧縮データを含む BINARY です。

使用上の注意

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

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

  • すべての入力が圧縮可能というわけではありません。入力値が非常に短いか、圧縮が困難な場合、出力値は入力値と同じ長さであるか、入力値よりもわずかに長い場合があります。

以下の例は、 SNAPPY 圧縮方式で COMPRESS 関数を使用する方法を示しています。

関数の出力は BINARY ですが、読みやすいように SNOWSQL は出力を16進文字列として表示します。

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