to_binary-functie

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

Retourneert expr cast naar BINARY op fmtbasis van .

Syntaxis

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 geldige hexadecimale tekenreeks is, retourneert Azure Databricks een CONVERSION_INVALID_INPUT fout. Gebruik try_to_binary om in plaats daarvan een NULL-waarde te retourneren.

  • 'BASE64'

    expr moet een RFC 4648 §4 zijn: base64 (standaard) gecodeerde tekenreeks. Het resultaat is de gedecodeerde binaire gegevens. Onder RFC 4648 §4 zal elke ongeldige bae64-tekenreeks resulteren in een CONVERSION_INVALID_INPUT fout.

  • '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