Funkcja to_binary
Dotyczy: Databricks SQL preview Databricks Runtime 11.3 LTS i nowsze
Zwraca expr
rzutowanie do pliku BINARY na fmt
podstawie elementu .
Składnia
to_binary(expr [, fmt] )
Argumenty
expr
: wyrażenie STRING do rzutowania.fmt
: literał CIĄGU opisujący sposób interpretowaniaexpr
elementu .
Zwraca
PLIK BINARNY.
Uwagi
Jeśli fmt
jest dostarczany, musi być jednym z (bez uwzględniania wielkości liter):
'HEX'
expr
musi być ciągiem szesnastkowym. Każdy znak musi być cyfrą szesnastkową i musi zawierać parzystą liczbę cyfr. Wynikiem jest binarna reprezentacja ciągu szesnastkowego.Jeśli
expr
ciąg szesnastkowy nie jest prawidłowym ciągiem szesnastkowym, usługa Azure Databricks zwraca błąd CONVERSION_INVALID_INPUT . Użyj try_to_binary , aby zamiast tego zwrócić wartość NULL.'BASE64'
expr
musi być ciągiem zakodowanym w formacie RFC 4648 §4: base64 (standardowy). Wynikiem są zdekodowane dane binarne. W ramach RFC 4648 §4 każdy źle sformułowany ciąg bae64 spowoduje błąd CONVERSION_INVALID_INPUT .'UTF-8'
lub'UTF8'
expr
jest interpretowany jako ciąg UTF-8. Wynikiem jest binarna reprezentacja ciągu.
Wartość domyślna fmt
to 'HEX'
.
Przykłady
> 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