Fonction try_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
, ou NULL si l’entrée n’est pas valide.
Syntaxe
try_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 valeur hexadécimale bien formée, la fonction retourneNULL
. Utilisez to_binary pour retourner une erreur à 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.'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