Freigeben über


try_to_binary-Funktion

Gilt für:Häkchen ja Databricks SQL Vorschau Häkchen gesetzt ja 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, wie expr 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 Funktion NULL 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