Aracılığıyla paylaş


to_binary işlevi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL önizlemesi onay işareti evet olarak işaretlenmiş Databricks Runtime 11.3 LTS ve üzeri

fmt tabanlı olarak expr BINARY'ye dönüştürülmüş halini döndürür.

Söz dizimi

to_binary(expr [, fmt] )

Argümanlar

  • expr: Dönüştürme için bir STRING ifadesi.
  • fmt: expr nasıl yorumlanacağını açıklayan bir STRING sabiti.

İadeler

İKILI.

Notlar

fmt sağlandığında, bunlardan biri olmalıdır (büyük/küçük harf duyarsız):

  • 'HEX'

    expr onaltılık bir karakter dizisi olmalıdır. Her bir karakter onaltılık bir rakam olmalı ve basamak sayısı çift olmalıdır. Sonuç, onaltılık dizenin ikili gösterimidir.

    Azure Databricks, expr geçerli bir onaltılık dize değilse bir CONVERSION_INVALID_INPUT hatası döndürür. Bunun yerine null değer döndürmek için try_to_binary kullanın.

  • 'BASE64'

    expr bir RFC 4648 §4: base64 (standart) kodlanmış dize olmalıdır. Sonuç, kodu çözülen ikili verilerdir. RFC 4648 §4 altında, hatalı biçimlendirilmiş bae64 dizeleri CONVERSION_INVALID_INPUT hataya neden olur.

  • 'UTF-8' veya 'UTF8'

    expr utf-8 dizesi olarak yorumlanır. Sonuç, dizenin ikili gösterimidir.

Varsayılan değerdir fmt'HEX'.

Örnekler

> 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