다음을 통해 공유


to_binary 기능

적용 대상: 예로 표시된 확인 Databricks SQL 미리 보기 예로 표시된 확인 Databricks Runtime 11.3 LTS 이상

fmt에 따라 BINARY로 캐스팅된 expr을 반환합니다.

구문

to_binary(expr [, fmt] )

인수

  • expr: 캐스팅할 STRING 식입니다.
  • fmt: expr을 해석하는 방법을 설명하는 STRING 리터럴입니다.

반품

BINARY입니다.

주의

fmt가 제공된 경우 다음 중 하나여야 합니다(대/소문자를 구분하지 않음).

  • 'HEX'

    expr은 16진수 문자열이어야 합니다. 각 문자는 16진수여야 하며 짝수의 숫자가 있어야 합니다. 결과는 16진수 문자열의 이진 표현입니다.

    expr이 유효한 16진수 문자열이 아닌 경우 Azure Databricks는 CONVERSION_INVALID_INPUT 오류를 반환합니다. 대신 try_to_binary를 사용하여 NULL 값을 반환합니다.

  • 'BASE64'

    exprRFC 4648 §4: base64(표준) 인코딩 문자열이어야 합니다. 결과는 디코딩된 이진 데이터입니다. RFC 4648 §4에서 잘못된 형식의 bae64 문자열이 있으면 CONVERSION_INVALID_INPUT 오류가 발생합니다.

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