Catégories :

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

DECOMPRESS_BINARY

Décompresse le paramètre d’entrée BINARY compressé.

Voir aussi :

COMPRESS , DECOMPRESS_STRING

Syntaxe

DECOMPRESS_BINARY(<input>, <method>)

Arguments

Obligatoire :

entrée

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.

Si vous essayez de décompresser une chaîne compressée plutôt qu’une valeur compressée BINARY, vous n’obtiendrez pas d’erreur. La fonction retournera une valeur BINARY. Voir les notes d’utilisation ci-dessous pour plus de détails.

méthode

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

La méthode DECOMPRESS_BINARY, 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_BINARY l’ignore et utilise le niveau de compression actuel.

Renvoie

Le type de données de la valeur renvoyée est BINARY.

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 respecte pas la casse.

  • La fonction DECOMPRESS_BINARY peut décompresser des données qui étaient à l’origine au format chaîne. Cependant, la sortie de DECOMPRESS_BINARY sera toujours BINARY, et non une chaîne. Par exemple, SELECT DECOMPRESS_BINARY(COMPRESS('Hello', 'SNAPPY), 'SNAPPY') renvoie une valeur BINARY ; si vous affichez cette valeur, elle s’affiche sous la forme de 48656C6C6F, qui est la représentation hexadécimale de “Hello”. Pour éviter toute confusion, Snowflake recommande de décompresser les données de chaîne en utilisant DECOMPRESS_STRING plutôt que DECOMPRESS_BINARY.

Renvoie

Une valeur BINARY avec des données décompressées.

Exemples

Cela montre un exemple simple de décompression de données BINARY contenant une valeur compressée.

SELECT DECOMPRESS_BINARY(TO_BINARY('0920536E6F77666C616B65', 'HEX'), 'SNAPPY');
+-------------------------------------------------------------------------+
| DECOMPRESS_BINARY(TO_BINARY('0920536E6F77666C616B65', 'HEX'), 'SNAPPY') |
|-------------------------------------------------------------------------|
| 536E6F77666C616B65                                                      |
+-------------------------------------------------------------------------+