try_to_binary-functie

Van toepassing op:vinkje als ja aan Databricks SQL Preview vinkje als ja aan Databricks Runtime 11.3 LTS en hoger

expr Hiermee wordt cast geretourneerd naar BINARY op fmtbasis van , of NULL als de invoer niet geldig is.

Syntaxis

try_to_binary(expr [, fmt] )

Argumenten

  • expr: Een TEKENREEKS-expressie die moet worden gecast.
  • fmt: Een letterlijke tekenreeks die beschrijft hoe te interpreteren expr.

Retouren

EEN BINAIR.

Opmerkingen

Indien fmt opgegeven, moet deze een van (hoofdlettergevoelig) zijn:

  • 'HEX'

    expr moet een hexadecimale tekenreeks zijn. Elk teken moet een hexadecimaal cijfer zijn en er moet een even aantal cijfers zijn. Het resultaat is de binaire weergave van de hexadecimale tekenreeks.

    Als expr dit geen goed gevormde hexadecimale waarde is, retourneert NULLde functie . Gebruik to_binary om in plaats daarvan een fout te retourneren.

  • 'BASE64'

    expr moet een RFC 4648 §4 zijn: base64 (standaard) gecodeerde tekenreeks. Het resultaat is de gedecodeerde binaire gegevens.

  • 'UTF-8' of 'UTF8'

    expr wordt geïnterpreteerd als een UTF-8-tekenreeks. Het resultaat is de binaire weergave van de tekenreeks.

De standaardwaarde fmt is 'HEX'.

Voorbeelden

> 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