- Kategorien:
Zeichenfolgen- und Binärfunktionen (Komprimierung/Dekomprimierung)
DECOMPRESS_BINARY¶
Dekomprimiert den komprimierten Eingabeparameter BINARY
.
- Siehe auch:
Syntax¶
DECOMPRESS_BINARY(<input>, <method>)
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 einenBINARY
-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 MethodeCOMPRESS
keinen Komprimierungsgrad angeben. Wenn Sie den Komprimierungsgrad angeben, wird dieser vonDECOMPRESS_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 vonDECOMPRESS_BINARY
ist jedoch immer nochBINARY
und keine Zeichenfolge. So gibt beispielsweiseSELECT DECOMPRESS_BINARY(COMPRESS('Hello', 'SNAPPY), 'SNAPPY')
einenBINARY
-Wert zurück. Wenn Sie diesen Wert anzeigen, wird48656C6C6F
ausgegeben, also als die hexadezimale Darstellung von „Hello“. Um Verwirrung zu vermeiden, empfiehlt Snowflake die Dekomprimierung von Zeichenfolgendaten mit DECOMPRESS_STRING anstelle vonDECOMPRESS_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 |
+-------------------------------------------------------------------------+