Bagikan melalui


to_binary fungsi

Berlaku untuk:centang ditandai ya Pratinjau centang ditandai ya Databricks SQL Databricks Runtime 11.3 LTS ke atas

expr Mengembalikan cast ke BINARY berdasarkan fmt.

Sintaks

to_binary(expr [, fmt] )

Argumen

  • expr: Ekspresi STRING yang akan dilemparkan.
  • fmt: STRING harfiah yang menjelaskan cara menafsirkan expr.

Mengembalikan

BINER.

Catatan

Jika fmt disediakan, itu harus salah satu dari (tidak peka huruf besar/kecil):

  • 'HEX'

    expr harus berupa string heksadesimal. Setiap karakter harus berupa digit heksadesimal dan harus ada jumlah digit yang merata. Hasilnya adalah representasi biner dari string heksadesimal.

    Jika expr bukan string heksadesimal yang valid, Azure Databricks mengembalikan kesalahan CONVERSION_INVALID_INPUT . Gunakan try_to_binary untuk mengembalikan nilai NULL sebagai gantinya.

  • 'BASE64'

    exprharus berupa string yang dikodekan RFC 4648 §4: base64 (standar). Hasilnya adalah data biner yang didekodekan. Di bawah RFC 4648 §4 string bae64 yang salah bentuk akan mengakibatkan kesalahan CONVERSION_INVALID_INPUT .

  • 'UTF-8' atau 'UTF8'

    expr ditafsirkan sebagai string UTF-8. Hasilnya adalah representasi biner dari string.

fmt Defaultnya adalah 'HEX'.

Contoh

> 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