Catégories :

Fonctions de chaîne et fonctions binaires (Compression/Décompression)

DECOMPRESS_STRING

Décompresse le paramètre d’entrée compressé BINARY en une chaîne.

Voir aussi :

COMPRESS , DECOMPRESS_BINARY

Syntaxe

DECOMPRESS_STRING(<input>, <method>)
Copy

Arguments

Obligatoire :

input

Une valeur (ou expression) BINARY avec des données compressées à l’aide de l’une des méthodes de compression spécifiées dans COMPRESS.

method

Méthode de compression utilisée à l’origine pour compresser l” input. Voir COMPRESS pour une liste des méthodes de compression.

La méthode DECOMPRESS_STRING, contrairement à la méthode COMPRESS, ne nécessite pas de spécifier le niveau de compression. Si vous spécifiez le niveau de compression, DECOMPRESS_STRING l’ignore et utilise le niveau de compression actuel.

Renvoie

Une chaîne avec des données décompressées.

Notes sur l’utilisation

  • Si la méthode de compression est inconnue ou non valide, la requête échoue.

  • Le nom de la méthode de compression (par exemple ZLIB) ne distingue pas la casse.

  • Si vous utilisez DECOMPRESS_STRING pour décompresser une valeur BINARY compressée, plutôt qu’une valeur de chaîne compressée, vous ne recevrez pas forcément une erreur ; la fonction tente de traiter la valeur BINARY en tant que séquence de chiffres hexadécimaux, puis de convertir ces chiffres hexadécimaux en caractères imprimables. Snowflake vous recommande d’utiliser la fonction DECOMPRESS_BINARY pour décompresser les données compressées si les données d’origine étaient BINARY.

Exemples

Cela montre comment compresser une chaîne, puis décompresser vers la valeur d’origine.

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