Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 関数 » SQL 関数 (A ~ D)

 

COMPRESS 関数 [文字列]

文字列を圧縮し、LONG BINARY 型の値を返します。

構文
COMPRESS( string-expression [ , 'compression-algorithm-alias' ])
パラメータ
  • string-expression   圧縮される文字列。この関数にはバイナリ値を渡すことができます。大文字と小文字を区別しないデータベース定義であっても、パラメータの大文字と小文字は区別されます。

  • compression-algorithm-alias   圧縮に使用するアルゴリズムのエイリアス。サポートされている値は zip と gzip です (いずれも同じアルゴリズムに基づいていますが、ヘッダと後書きが異なります)。

    zip は幅広くサポートされている圧縮アルゴリズムです。gzip は UNIX の gzip ユーティリティと互換性がありますが、zip アルゴリズムには互換性がありません。

    解凍は同じアルゴリズムで実行します。

    詳細については、DECOMPRESS 関数 [文字列]を参照してください。

戻り値

LONG BINARY

備考

COMPRESS によって返される値は判読できません。返された値が元の文字列より長い場合、その最大サイズは元の文字列 + 12 バイトよりも 0.1% を超えて大きくなることはありません。DECOMPRESS 関数を使用して、圧縮された string-expression を解凍できます。

圧縮された値をテーブルに格納する場合は、文字セット変換がデータに対して実行されないように、カラムを BINARY または LONG BINARY にしてください。

参照
標準と互換性
  • SQL/2003   ベンダ拡張。

次の例では、文字列 'Hello World' を gzip アルゴリズムを使用して圧縮して作成したバイナリ文字列の長さを返します。この例は、圧縮すると値の長さが短くなるかどうかを判断する場合に便利です。

SELECT LENGTH( COMPRESS( 'Hello world', 'gzip' ) );