Compartir a través de


Función to_binary

Se aplica a:casilla marcada como sí versión preliminar de Databricks SQL casilla marcada como Sí Databricks Runtime 11.3 LTS y versiones posteriores

Devuelve la conversión de expr a BINARY basada en fmt.

Sintaxis

to_binary(expr [, fmt] )

Argumentos

  • expr: expresión STRING que se va a convertir.
  • fmt: literal de STRING que describe cómo interpretar expr.

Devoluciones

Una expresión binaria.

Notas

Si se proporciona fmt, debe ser uno de los valores siguientes (sin distinción entre mayúsculas y minúsculas):

  • 'HEX'

    expr debe ser una cadena hexadecimal. Cada carácter debe ser un dígito hexadecimal y debe haber un número par de dígitos. El resultado es la representación binaria de la cadena hexadecimal.

    Si expr no es una cadena hexadecimal válida, Azure Databricks devuelve un error CONVERSION_INVALID_INPUT. Use try_to_binary para devolver un valor NULL en su lugar.

  • 'BASE64'

    expr debe ser una cadena codificada en RFC 4648 §4: base64 (estándar). El resultado son los datos binarios descodificados. En RFC 4648 §4, cualquier cadena en base64 con formato incorrecto generará un error CONVERSION_INVALID_INPUT.

  • 'UTF-8' o 'UTF8'

    expr se interpreta como cadena UTF-8. El resultado es la representación binaria de la cadena.

El valor predeterminado de fmt es 'HEX'.

Ejemplos

> 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