Aracılığıyla paylaş


try_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

Girişin geçerli olmaması durumunda NULL, aksi takdirde fmt temel alınarak expr öğesi BINARY türüne dönüştürülmüş olarak döner.

Söz dizimi

try_to_binary(expr [, fmt] )

Argümanlar

  • expr: Dönüştürülecek bir STRING ifadesi.
  • fmt: expr nasıl yorumlanacağını açıklayan bir dize sabiti.

İadeler

İKILI.

Notlar

Sağlanırsa fmt, aralarından biri olmalıdır (harf duyarsız):

  • 'HEX'

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

    İyi biçimlendirilmiş onaltılık bir değer değilse expr işlevi döndürür NULL. Bunun yerine hata döndürmek için to_binary kullanın.

  • 'BASE64'

    expr bir RFC 4648 §4: base64 (standart) kodlanmış bir dize olmalıdır. Sonuç, kodu çözülen ikili verilerdir.

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