共用方式為


try_to_binary函式

適用於: 核取記號為「是」 Databricks SQL 預覽 核取記號為「是」 Databricks Runtime 11.3 LTS 和更新版本

expr根據 傳回轉換成 BINARYfmt,如果輸入無效,則傳回 NULL。

語法

try_to_binary(expr [, fmt] )

引數

  • expr:要轉換的 STRING 運算式。
  • fmt:描述如何解譯 expr的 STRING 常值。

傳回

BINARY。

備註

如果 fmt 提供,它必須是其中一個(不區分大小寫):

  • 'HEX'

    expr 必須是十六進位字串。 每個字元都必須是十六進位數位,而且必須有偶數位數。 結果是十六進位字串的二進位表示法。

    如果 expr 不是格式正確的十六進位值,函式會傳 NULL回 。 請改用 to_binary 傳回錯誤。

  • 'BASE64'

    expr 必須是 RFC 4648 •4:base64 (標準) 編碼字串。 結果是已譯碼的二進位數據。

  • '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