Fonction to_binary
S’applique à : Version préliminaire de Databricks SQL Databricks Runtime 11.3 LTS et versions ultérieures
Retourne expr
casté en BINARY en fonction de fmt
.
Syntaxe
to_binary(expr [, fmt] )
Arguments
expr
: expression STRING à caster.fmt
: littéral STRING décrivant comment interpréterexpr
.
Retours
Une valeur BINARY.
Notes
Si fmt
est fourni, il doit avoir l’une des valeurs suivantes (sans respect de la casse) :
'HEX'
expr
doit être une chaîne hexadécimale. Chaque caractère doit être un chiffre hexadécimal, et il doit y avoir un nombre pair de chiffres. Le résultat est la représentation binaire de la chaîne hexadécimale.Si
expr
n’est pas une chaîne hexadécimale valide, Azure Databricks retourne une erreur CONVERSION_INVALID_INPUT. Utilisez try_to_binary pour retourner une valeur NULL à la place.'BASE64'
expr
doit être une chaîne encodée RFC 4648 §4 : base64 (standard). Le résultat est la donnée binaire décodée. Sous RFC 4648 §4, toute chaîne base64 mal formée entraîne une erreur CONVERSION_INVALID_INPUT.'UTF-8'
ou'UTF8'
expr
est interprété comme une chaîne UTF-8. Le résultat est la représentation binaire de la chaîne.
La valeur par défaut de fmt
est 'HEX'
.
Exemples
> 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