Dela via


Funktionen to_binary

Gäller för: markerad ja Databricks SQL preview markerad ja Databricks Runtime 11.3 LTS och senare

Returnerar expr cast till BINARY baserat på fmt.

Syntax

to_binary(expr [, fmt] )

Argument

  • expr: Ett STRING-uttryck som ska gjutas.
  • fmt: En STRING-literal som beskriver hur du tolkar expr.

Returer

EN BINÄR FIL.

Kommentar

Om fmt anges måste det vara ett av (skiftlägesokänsligt):

  • 'HEX'

    expr måste vara en hexadecimal sträng. Varje tecken måste vara en hexadecimal siffra och det måste finnas ett jämnt antal siffror. Resultatet är den binära representationen av hexadecimal strängen.

    Om expr inte är en giltig hexadecimal sträng returnerar Azure Databricks ett CONVERSION_INVALID_INPUT fel. Använd try_to_binary för att returnera ett NULL-värde i stället.

  • 'BASE64'

    expr måste vara en RFC 4648 §4: base64 (standard) kodad sträng. Resultatet är de avkodade binära data. Under RFC 4648 §4 resulterar en felaktig bae64-sträng i ett CONVERSION_INVALID_INPUT fel.

  • 'UTF-8' eller 'UTF8'

    expr tolkas som en UTF-8-sträng. Resultatet är den binära representationen av strängen.

Standardvärdet fmt är 'HEX'.

Exempel

> 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