※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。



COMPRESS

COMPRESS(string_to_compress)
文字列を圧縮する。

mysql> SELECT LENGTH(COMPRESS(REPEAT("a",1000)));
        -> 21
mysql> SELECT LENGTH(COMPRESS(""));
        -> 0
mysql> SELECT LENGTH(COMPRESS("a"));
        -> 13
mysql> SELECT LENGTH(COMPRESS(REPEAT("a",16)));
        -> 15

COMPRESS() は MySQL バージョン 4.1.1 で追加された。 この関数を使用するためには、zlib などの圧縮ライブラリを使用して MySQL をコンパイルしておく必要がある。コンパイルを行っていないと、戻り値は常に NULL になる。
圧縮した文字列の内容は次の方法で格納される。
空の文字列は空の文字列として格納される。
空以外の文字列は、まず 4 バイトの長さの非圧縮文字列として格納され(下位バイトが先)、その後 gzip によって文字列が圧縮される。文字列がスペースで終わっている場合は、追加の ‘.’ が挿入される。これは、結果を CHAR 型または VARCHAR 型のカラムに格納する場合に末尾のスペースの切り取りで問題が発生しないようにするため。しかし、CHAR 型や VARCHAR 型カラムへの圧縮文字列の格納は推奨されない。代わりに、BLOB 型のカラムを使用するようにする。