Kategorien:

Zeichenfolgen- und Binärfunktionen (Komprimierung/Dekomprimierung)

DECOMPRESS_BINARY

Dekomprimiert den komprimierten Eingabeparameter BINARY.

Siehe auch:

COMPRESS , DECOMPRESS_STRING

Syntax

DECOMPRESS_BINARY(<input>, <method>)

Argumente

Benötigt:

Eingabe

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

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

Methode

Die Komprimierungsmethode, die ursprünglich zum Komprimieren des Eingabewerts Eingabe 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 weiterhin ein BINARY-Wert und keine Zeichenfolge. So gibt zum Beispiel SELECT DECOMPRESS_BINARY(COMPRESS('Hello', 'SNAPPY), 'SNAPPY') einen BINARY-Wert aus. 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                                                      |
+-------------------------------------------------------------------------+