Función to_binary
Se aplica a versión preliminar de Databricks SQL 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 interpretarexpr
.
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