- カテゴリ:
文字列とバイナリ関数 (圧縮/解凍)
COMPRESS¶
入力文字列またはバイナリ値を圧縮方法で圧縮します。
- こちらもご参照ください。
構文¶
COMPRESS(<input>, <method>)
引数¶
必須:
input
圧縮される
BINARY
または文字列値(または式)。method
圧縮方法とオプションの圧縮レベルを含む文字列です。サポートされている方法は次のとおりです。
SNAPPY
。ZLIB
。ZSTD
。BZ2
。
圧縮レベルは括弧で指定されます(例:
zlib(1)
)。圧縮レベルは負でない整数です。0
はデフォルトレベルを意味します(圧縮レベルを省略するのと同じ)。方法が圧縮レベルをサポートしていない場合、圧縮レベルは無視されます。
戻り値¶
圧縮データを含む BINARY
です。
使用上の注意¶
圧縮方法が不明または無効な場合は、クエリに失敗します。
圧縮方法名(例:
ZLIB
)では、大文字と小文字が区別されません。すべての入力が圧縮可能というわけではありません。入力値が非常に短いか、圧縮が困難な場合、出力値は入力値と同じ長さであるか、入力値よりもわずかに長い場合があります。
例¶
以下の例は、 SNAPPY
圧縮方式で COMPRESS
関数を使用する方法を示しています。
関数の出力は BINARY
ですが、読みやすいように SNOWSQL は出力を16進文字列として表示します。
SELECT COMPRESS('Snowflake', 'SNAPPY');
+---------------------------------+
| COMPRESS('SNOWFLAKE', 'SNAPPY') |
|---------------------------------|
| 0920536E6F77666C616B65 |
+---------------------------------+