try_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 (oder NULL, wenn die Eingabe ungültig ist).
Syntax
try_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
kein wohlgeformter Hexadezimalwert ist, gibt die FunktionNULL
zurück. Verwenden Sie to_binary, um stattdessen einen Fehler zurückzugeben.'BASE64'
expr
muss eine gemäß RFC 4648 §4: Base64 (Standard) codierte Zeichenfolge sein. Das Ergebnis sind die decodierten Binärdaten.'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