Categorias:

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

DECOMPRESS_STRING

Descomprime o parâmetro de entrada BINARY comprimido para uma cadeia de caracteres.

Consulte também:

COMPRESS , DECOMPRESS_BINARY

Sintaxe

DECOMPRESS_STRING(<input>, <method>)
Copy

Argumentos

Obrigatório:

input

Um valor BINARY (ou expressão) com dados que foram comprimidos usando um dos métodos de compressão especificados em COMPRESS.

method

O método de compressão usado originalmente para comprimir o input. Consulte COMPRESS para obter uma lista de métodos de compressão.

O método DECOMPRESS_STRING, ao contrário do método COMPRESS, não exige que você especifique o nível de compressão. Se você especificar o nível de compressão, DECOMPRESS_STRING o ignora e usa o nível de compressão real.

Retornos

Uma cadeia de caracteres com dados descomprimidos.

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.

  • Se você usar DECOMPRESS_STRING para descomprimir um valor BINARY comprimido, em vez de um valor de cadeia de caracteres comprimido, você não necessariamente receberá um erro; em vez disso, a função tenta tratar o valor BINARY como uma sequência de dígitos hexadecimais e depois tenta converter esses dígitos hexadecimais em caracteres imprimíveis. O Snowflake recomenda que você use a função DECOMPRESS_BINARY para descomprimir dados comprimidos se os dados originais forem BINARY.

Exemplos

Isto mostra como comprimir uma cadeia de caracteres e depois descomprimir de volta ao valor original.

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