Kategorien:

Zeichenfolgen- und Binärfunktionen (Komprimierung/Dekomprimierung)

COMPRESS

Komprimiert die Eingabezeichenfolge oder den Binärwert mit einer Komprimierungsmethode.

Siehe auch:

DECOMPRESS_BINARY , DECOMPRESS_STRING

Syntax

COMPRESS(<input>, <method>)

Argumente

Benötigt:

Eingabe

Ein BINARY- oder ein Zeichenfolgenwert (oder Ausdruck), der komprimiert werden soll.

Methode

Eine Zeichenfolge mit Komprimierungsmethode und optionalem Komprimierungsgrad. Unterstützte Methoden sind:

  • SNAPPY.

  • ZLIB.

  • ZSTD.

  • BZ2.

Der Komprimierungsgrad wird in Klammern angegeben, zum Beispiel: zlib(1). Der Komprimierungsgrad ist eine nicht negative ganze Zahl. 0 steht für die Standardstufe (wie das Auslassen der Komprimierungsstufe). Der Komprimierungsgrad wird ignoriert, wenn die Methode keinen Komprimierungsgrad unterstützt.

Rückgabewerte

Ein BINARY mit komprimierten Daten.

Nutzungshinweise

  • Wenn die Komprimierungsmethode unbekannt oder ungültig ist, schlägt die Abfrage fehl.

  • Der Name der Komprimierungsmethode, z. B. ZLIB, unterscheidet nicht zwischen Groß- und Kleinschreibung.

  • Nicht alle Eingaben sind komprimierbar. Bei sehr kurzen oder schwer zu komprimierenden Eingabewerten kann der Ausgabewert die gleiche Länge wie der Eingabewert haben oder sogar etwas länger sein.

Beispiele

Das folgende Beispiel zeigt, wie Sie die Funktion COMPRESS mit der Komprimierungsmethode SNAPPY verwenden.

Die Ausgabe der Funktion ist BINARY, aber SNOWSQL zeigt die Ausgabe aus Gründen der Lesbarkeit als Zeichenfolge aus Hexadezimalzeichen an.

SELECT COMPRESS('Snowflake', 'SNAPPY');
+---------------------------------+
| COMPRESS('SNOWFLAKE', 'SNAPPY') |
|---------------------------------|
| 0920536E6F77666C616B65          |
+---------------------------------+