Funzione try_to_binary
Si applica a: Databricks SQL preview
Databricks Runtime 11.3 LTS e versioni successive
Restituisce expr
il cast a BINARY in fmt
base a o NULL se l'input non è valido.
Sintassi
try_to_binary(expr [, fmt] )
Argomenti
-
expr
: espressione STRING di cui eseguire il cast. -
fmt
: valore letterale STRING che descrive come interpretareexpr
.
Valori restituiti
BINARIO.
Note
Se fmt
viene specificato, deve essere uno di (senza distinzione tra maiuscole e minuscole):
'HEX'
expr
deve essere una stringa esadecimale. Ogni carattere deve essere una cifra esadecimale e deve essere presente un numero pari di cifre. Il risultato è la rappresentazione binaria della stringa esadecimale.Se
expr
non è un valore esadecimale ben formato, la funzione restituisceNULL
. Usare to_binary per restituire invece un errore.'BASE64'
expr
deve essere una stringa con codifica RFC 4648 §4: base64 (standard). Il risultato è costituito dai dati binari decodificati.'UTF-8'
oppure'UTF8'
expr
viene interpretato come stringa UTF-8. Il risultato è la rappresentazione binaria della stringa.
L'impostazione predefinita è fmt
è 'HEX'
.
Esempi
> 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