Bagikan melalui


try_to_binary fungsi

< c0>Berlaku untuk:dicentang ya Pratinjau Databricks SQL dicentang ya Databricks Runtime 11.3 LTS ke atas

Mengembalikan expr yang sudah di-cast menjadi BINARY berdasarkan fmt, atau NULL jika input tidak valid.

Sintaks

try_to_binary(expr [, fmt] )

Argumen

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

Pengembalian

SEBUAH 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 nilai heksadesimal yang terbentuk dengan baik, fungsi mengembalikan NULL. Gunakan to_binary untuk mengembalikan kesalahan sebagai gantinya.

  • 'BASE64'

    exprharus berupa string yang dikodekan RFC 4648 ยง4: base64 (standar). Hasilnya adalah data biner yang didekodekan.

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