Funktionen to_binary
Gäller för: Databricks SQL preview Databricks Runtime 11.3 LTS och senare
Returnerar expr
cast till BINARY baserat på fmt
.
Syntax
to_binary(expr [, fmt] )
Argument
-
expr
: Ett STRING-uttryck som ska gjutas. -
fmt
: En STRING-literal som beskriver hur du tolkarexpr
.
Returer
EN BINÄR FIL.
Kommentar
Om fmt
anges måste det vara ett av (skiftlägesokänsligt):
'HEX'
expr
måste vara en hexadecimal sträng. Varje tecken måste vara en hexadecimal siffra och det måste finnas ett jämnt antal siffror. Resultatet är den binära representationen av hexadecimal strängen.Om
expr
inte är en giltig hexadecimal sträng returnerar Azure Databricks ett CONVERSION_INVALID_INPUT fel. Använd try_to_binary för att returnera ett NULL-värde i stället.'BASE64'
expr
måste vara en RFC 4648 §4: base64 (standard) kodad sträng. Resultatet är de avkodade binära data. Under RFC 4648 §4 resulterar en felaktig bae64-sträng i ett CONVERSION_INVALID_INPUT fel.'UTF-8'
eller'UTF8'
expr
tolkas som en UTF-8-sträng. Resultatet är den binära representationen av strängen.
Standardvärdet fmt
är 'HEX'
.
Exempel
> 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