Kategorien:

Zeichenfolgen- und Binärfunktionen (Komprimierung/Dekomprimierung)

DECOMPRESS_BINARY

Dekomprimiert den komprimierten Eingabeparameter BINARY.

Siehe auch:

COMPRESS, DECOMPRESS_STRING

Syntax

DECOMPRESS_BINARY(<input>, <method>)
Copy

Argumente

Benötigt:

input

Ein BINARY-Wert (oder Ausdruck) mit Daten, die mit einer der unter COMPRESS angegebenen Komprimierungsmethoden komprimiert wurden.

Wenn Sie versuchen, anstelle eines komprimierten BINARY-Werts eine komprimierte Zeichenfolge zu dekomprimieren, wird kein Fehler zurückgegeben. Stattdessen gibt die Funktion einen BINARY-Wert zurück. Weitere Informationen dazu finden Sie in den Nutzungshinweisen unten.

method

Die Komprimierungsmethode, die ursprünglich zum Komprimieren des Eingabewerts input verwendet wurde. Eine Liste der Komprimierungsmethoden finden Sie unter COMPRESS.

Für die Methode DECOMPRESS_BINARY müssen Sie im Gegensatz zur Methode COMPRESS keinen Komprimierungsgrad angeben. Wenn Sie den Komprimierungsgrad angeben, wird dieser von DECOMPRESS_BINARY ignoriert und der tatsächliche Komprimierungsgrad verwendet.

Rückgabewerte

Der Datentyp des zurückgegebenen Werts ist BINARY.

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.

  • Die Funktion DECOMPRESS_BINARY kann Daten dekomprimieren, die ursprünglich im Zeichenfolgenformat vorlagen. Die Ausgabe von DECOMPRESS_BINARY ist jedoch immer noch BINARY und keine Zeichenfolge. So gibt beispielsweise SELECT DECOMPRESS_BINARY(COMPRESS('Hello', 'SNAPPY), 'SNAPPY') einen BINARY-Wert zurück. Wenn Sie diesen Wert anzeigen, wird 48656C6C6F ausgegeben, also als die hexadezimale Darstellung von „Hello“. Um Verwirrung zu vermeiden, empfiehlt Snowflake die Dekomprimierung von Zeichenfolgendaten mit DECOMPRESS_STRING anstelle von DECOMPRESS_BINARY.

Rückgabewerte

Ein BINARY-Wert mit dekomprimierten Daten.

Beispiele

Dies zeigt ein einfaches Beispiel für das Dekomprimieren von BINARY-Daten, die einen komprimierten Wert enthalten.

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