to_binary
函式
適用於: Databricks SQL 預覽 Databricks Runtime 11.3 LTS 和更新版本
根據fmt
傳expr
回轉換成 BINARY。
語法
to_binary(expr [, fmt] )
引數
expr
:要轉換的 STRING 運算式。fmt
:描述如何解譯expr
的 STRING 常值。
傳回
BINARY。
備註
如果 fmt
提供,它必須是其中一個(不區分大小寫):
'HEX'
expr
必須是十六進位字串。 每個字元都必須是十六進位數位,而且必須有偶數位數。 結果是十六進位字串的二進位表示法。如果
expr
不是有效的十六進位字串,Azure Databricks 會傳 回CONVERSION_INVALID_INPUT 錯誤。 請改用 try_to_binary 傳回NULL值。'BASE64'
expr
必須是 RFC 4648 •4:base64 (標準) 編碼字串。 結果是已譯碼的二進位數據。 在 RFC 4648 ≦4 下,任何格式不正確的 bae64 字串都會導致 CONVERSION_INVALID_INPUT 錯誤。'UTF-8'
或'UTF8'
expr
會解譯為UTF-8字串。 結果是字串的二進位表示法。
預設的 fmt
是 '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