Categorias:

Funções de cadeia de caracteres e binários (Compressão/Descompressão)

COMPRESS

Comprime a cadeia de caracteres de entrada ou o valor binário com um método de compressão.

Consulte também:

DECOMPRESS_BINARY , DECOMPRESS_STRING

Sintaxe

COMPRESS(<input>, <method>)
Copy

Argumentos

Obrigatório:

input

Um valor BINARY ou de cadeia de caracteres (ou expressão) a ser comprimido.

method

Uma cadeia de caracteres com método de compressão e nível de compressão opcional. Os métodos suportados são:

  • SNAPPY.

  • ZLIB.

  • ZSTD.

  • BZ2.

O nível de compressão é especificado entre parênteses, por exemplo: zlib(1). O nível de compressão é um número inteiro não negativo. 0 significa nível padrão (o mesmo que omitir o nível de compressão). O nível de compressão é ignorado se o método não oferecer suporte a níveis de compressão.

Retornos

O BINARY com dados comprimidos.

Notas de uso

  • Se o método de compressão for desconhecido ou inválido, a consulta falha.

  • O nome do método de compressão (por exemplo, ZLIB) não diferencia maiúsculas e minúsculas.

  • Nem todas as entradas podem ser comprimidas. Para valores de entrada muito curtos ou difíceis de comprimir, o valor de saída pode ter o mesmo comprimento que o valor de entrada, ou mesmo ser um pouco mais longo que ele.

Exemplos

O exemplo abaixo mostra como usar a função COMPRESS com o método de compressão SNAPPY.

A saída da função é BINARY, mas SNOWSQL exibe a saída como uma cadeia de caracteres hexadecimais para facilitar a leitura.

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