Função try_to_binary
Aplica-se a: Versão prévia do Databricks SQL Databricks Runtime 11.3 LTS e versões posteriores
Retorna expr
conversão para BINARY com base em fmt
ou NULL se a entrada for inválida.
Sintaxe
try_to_binary(expr [, fmt] )
Argumentos
expr
: uma expressão de STRING a ser convertida.fmt
: um literal STRING que descreve como interpretarexpr
.
Retornos
Um BINARY.
Observações
Se fmt
for fornecido, ele deverá ser um dos (não diferencia maiúsculas de minúsculas):
'HEX'
expr
deve ser uma cadeia de caracteres hexadecimal. Cada caractere deve ser um dígito hexadecimal e deve haver um número par de dígitos. O resultado é a representação binária da cadeia de caracteres hexadecimal.Se
expr
não for um valor hexadecimal bem formado, a função retornaráNULL
. Use to_binary para retornar um erro.'BASE64'
expr
deve ser uma cadeia de caracteres codificada RFC 4648 §4: base64 (padrão). O resultado são os dados binários decodificados.'UTF-8'
ou'UTF8'
expr
é interpretado como uma cadeia de caracteres UTF-8. O resultado é a representação binária da cadeia de caracteres.
O valor padrão fmt
é 'HEX'
.
Exemplos
> 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