to_binary
-Funktion
Gilt für: Databricks SQL (Vorschau) Databricks Runtime 11.3 LTS und höher
Gibt die expr
-Umwandlung in einen BINARY-Wert basierend auf fmt
zurück.
Syntax
to_binary(expr [, fmt] )
Argumente
expr
: Ein STRING-Ausdruck, der umgewandelt werden soll.fmt
: Ein STRING-Literal, das beschreibt, wieexpr
interpretiert werden soll.
Gibt zurück
Einen BINARY-Ausdruck
Notizen
Wenn fmt
angegeben wird, muss eines der folgenden Formate vorliegen (keine Berücksichtigung der Groß-/Kleinschreibung):
'HEX'
expr
muss eine Hexadezimalzeichenfolge sein. Jedes Zeichen muss eine Hexadezimalziffer sein, und es muss eine gerade Anzahl von Ziffern vorhanden sein. Das Ergebnis ist die binäre Darstellung der Hexadezimalzeichenfolge.Wenn
expr
keine gültige Hexadezimalzeichenfolge ist, gibt Azure Databricks einen CONVERSION_INVALID_INPUT-Fehler zurück. Verwenden Sie try_to_binary, um stattdessen einen NULL-Wert zurückzugeben.'BASE64'
expr
muss eine gemäß RFC 4648 §4: Base64 (Standard) codierte Zeichenfolge sein. Das Ergebnis sind die decodierten Binärdaten. Gemäß RFC 4648 §4 führt jede nicht wohlgeformte Base64-Zeichenfolge zu einem CONVERSION_INVALID_INPUT-Fehler.'UTF-8'
oder'UTF8'
expr
wird als UTF-8-Zeichenfolge interpretiert. Das Ergebnis ist die binäre Darstellung der Zeichenfolge.
Der Standardwert von fmt
lautet 'HEX'
.
Beispiele
> SELECT cast(to_binary('537061726B') AS STRING);
Spark
> SELECT cast(to_binary('hello', 'hex') AS STRING);
Error: CONVERSION_INVALID_INPUT
> SELECT cast(try_to_binary('hello', 'hex') AS STRING);
NULL
> SELECT cast(to_binary('537061726B', 'hex') AS STRING);
Spark
> SELECT cast(to_binary('U3Bhcms=', 'base64') AS STRING);
Spark
> SELECT cast(to_binary('U3Bhxcms=', 'base64') AS STRING);
Error: CONVERSION_INVALID_INPUT
> SELECT cast(try_to_binary('U3Bhxcms=', 'base64') AS STRING);
NULL
> SELECT hex(to_binary('서울시(Seoul)', 'UTF-8'));
EC849CEC9AB8EC8B9C2853656F756C29