to_binary
-functie
Van toepassing op: Databricks SQL Preview
Databricks Runtime 11.3 LTS en hoger
Retourneert expr
cast naar BINARY op fmt
basis van .
Syntaxis
to_binary(expr [, fmt] )
Argumenten
-
expr
: Een TEKENREEKS-expressie die moet worden gecast. -
fmt
: Een letterlijke tekenreeks die beschrijft hoe te interpreterenexpr
.
Retouren
EEN BINAIR.
Opmerkingen
Indien fmt
opgegeven, moet deze een van (hoofdlettergevoelig) zijn:
'HEX'
expr
moet een hexadecimale tekenreeks zijn. Elk teken moet een hexadecimaal cijfer zijn en er moet een even aantal cijfers zijn. Het resultaat is de binaire weergave van de hexadecimale tekenreeks.Als
expr
dit geen geldige hexadecimale tekenreeks is, retourneert Azure Databricks een CONVERSION_INVALID_INPUT fout. Gebruik try_to_binary om in plaats daarvan een NULL-waarde te retourneren.'BASE64'
expr
moet een RFC 4648 §4 zijn: base64 (standaard) gecodeerde tekenreeks. Het resultaat is de gedecodeerde binaire gegevens. Onder RFC 4648 §4 zal elke ongeldige bae64-tekenreeks resulteren in een CONVERSION_INVALID_INPUT fout.'UTF-8'
of'UTF8'
expr
wordt geïnterpreteerd als een UTF-8-tekenreeks. Het resultaat is de binaire weergave van de tekenreeks.
De standaardwaarde fmt
is 'HEX'
.
Voorbeelden
> 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