MySQL @Wiki 実用リファレンス

COMPRESS

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可


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 型のカラムを使用するようにする。


記事メニュー
人気記事ランキング
ウィキ募集バナー