- 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 :
input
Une valeur
BINARY
ou une valeur de chaîne (ou une expression) à compresser.method
Une 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.0
signifie 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 |
+---------------------------------+