Condividi tramite


Funzione to_binary

Si applica a: segno di spunta sì Databricks SQL preview segno di spunta sì Databricks Runtime 11.3 LTS e versioni successive

Restituisce expr il cast a BINARY in fmtbase a .

Sintassi

to_binary(expr [, fmt] )

Argomenti

  • expr: espressione STRING di cui eseguire il cast.
  • fmt: valore letterale STRING che descrive come interpretare expr.

Valori restituiti

BINARIO.

Note

Se fmt viene specificato, deve essere uno di (senza distinzione tra maiuscole e minuscole):

  • 'HEX'

    expr deve essere una stringa esadecimale. Ogni carattere deve essere una cifra esadecimale e deve essere presente un numero pari di cifre. Il risultato è la rappresentazione binaria della stringa esadecimale.

    Se expr non è una stringa esadecimale valida, Azure Databricks restituisce un errore CONVERSION_INVALID_INPUT . Usare try_to_binary per restituire invece un valore NULL.

  • 'BASE64'

    exprdeve essere una stringa con codifica RFC 4648 §4: base64 (standard). Il risultato è costituito dai dati binari decodificati. In RFC 4648 §4 qualsiasi stringa bae64 non valida genererà un errore CONVERSION_INVALID_INPUT .

  • 'UTF-8' oppure 'UTF8'

    expr viene interpretato come stringa UTF-8. Il risultato è la rappresentazione binaria della stringa.

L'impostazione predefinita è fmt è 'HEX'.

Esempi

> 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