A try_to_binary
függvény
A következőkre vonatkozik: Databricks SQL preview
Databricks Runtime 11.3 LTS és újabb
expr
Bináris értékre öntött értéket ad vissza a megadott érték alapjánfmt
, vagy NULL értékre, ha a bemenet érvénytelen.
try_to_binary(expr [, fmt] )
-
expr
: A leadandó KARAKTERLÁNC-kifejezés. -
fmt
: A sztringkonstans, amely leírja, hogyan kell értelmezniexpr
.
EGY BINÁRIS ÁLLOMÁNY
Ha a fmt
meg van adva, akkor annak a következő lehetőségek egyikének kell lennie (kis- és nagybetűérzéketlen):
'HEX'
expr
hexadecimális sztringnek kell lennie. Minden karakternek hexadecimális számjegynek kell lennie, és páros számú számjegynek kell lennie. Az eredmény a hexadecimális sztring bináris ábrázolása.Ha
expr
nem jól formázott hexadecimális érték, akkor a függvény visszaadja a függvénytNULL
. Ehelyett a to_binary használatával adja vissza a hibát.'BASE64'
expr
egy RFC 4648 §4: base64 (standard) kódolású sztringnek kell lennie. Az eredmény a dekódolt bináris adatok.'UTF-8'
vagy'UTF8'
expr
UTF-8 sztringként van értelmezve. Az eredmény a sztring bináris ábrázolása.
Az alapértelmezett fmt
a 'HEX'
.
> 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