- Catégories :
Fonctions de chaîne et fonctions binaires (Compression/Décompression)
COMPRESS¶
Compresse la chaîne d’entrée ou la valeur binaire avec une méthode de compression.
- Voir aussi :
Syntaxe¶
COMPRESS(<input>, <method>)
Arguments¶
Obligatoire :
inputUne valeur
BINARYou une valeur de chaîne (ou une expression) à compresser.methodUne chaîne avec méthode de compression et niveau de compression optionnel. Les méthodes prises en charge sont les suivantes :
SNAPPY.ZLIB.ZSTD.BZ2.
Le niveau de compression est spécifié entre parenthèses, par exemple :
zlib(1). Le niveau de compression est un entier non négatif.0signifie le niveau par défaut (équivalent à l’omission du niveau de compression). Le niveau de compression est ignoré si la méthode ne prend pas en charge les niveaux de compression.
Renvoie¶
Un BINARY avec des données 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.Toutes les entrées ne sont pas compressibles. Pour des valeurs d’entrée très courtes ou difficiles à compresser, la valeur de sortie peut avoir la même longueur, voire même être légèrement supérieure à la valeur d’entrée.
Exemples¶
L’exemple ci-dessous montre comment utiliser la fonction COMPRESS avec la méthode de compression SNAPPY.
La sortie de la fonction est BINARY, mais SNOWSQL l’affiche sous forme de chaîne de caractères hexadécimaux afin d’en améliorer la lisibilité.
SELECT COMPRESS('Snowflake', 'SNAPPY');
+---------------------------------+
| COMPRESS('SNOWFLAKE', 'SNAPPY') |
|---------------------------------|
| 0920536E6F77666C616B65 |
+---------------------------------+