conv 함수

적용 대상:검사 '예'로 표시 Databricks SQL 검사 '예'로 표시 Databricks 런타임

numfromBase에서 toBase로 변환합니다.

구문

conv(num, fromBase, toBase)

인수

  • num: 에서 STRING 숫자를 나타내는 식입니다 fromBase.
  • fromBaseINTEGER: 원본 베이스를 나타내는 식입니다.
  • toBaseINTEGER: 대상 베이스를 나타내는 식입니다.

반품

STRING.

이 함수는 base 2에서 base 36을 지원합니다. 숫자 'A'(또는 'a')는 10진수 10을 나타내고 'Z'(또는 'z')는 10진수 35를 나타냅니다. 지원되는 값의 범위는 .의 범위입니다 BIGINT.

2보다 작거나 toBase -1, 0 또는 1인 경우 fromBase 결과는 다음과 입니다NULL.

num 수이면 toBase 부호 있는 숫자로 해석되고, 그렇지 않으면 부호 없는 숫자로 처리됩니다.

num Databricks SQL 및 Databricks Runtime 13.3 LTS 이상이면 ARITHMETIC_OVERFLOW 발생합니다.

Warning

Databricks Runtime에서 spark.sql.ansi.enabledfalse인 경우 오버플로로 인해 오류가 발생하지 않고 결과를 대신 “래핑”합니다.

예제

> SELECT conv('100', 2, 10);
 4

> SELECT conv('-10', 16, 10);
 18446744073709551600

> SELECT conv('-10', 16, -10);
 -16

> SELECT conv('-1', 10, 10);
 18446744073709551615

> SELECT conv('FFFFFFFFFFFFFFFFF', 16, 10);
 Error: ARITHMETIC_OVERFLOW

> SELECT conv('FFFFFFFFFFFFFFFF', 16, 10);
 18446744073709551615

> SELECT conv('FFFFFFFFFFFFFFFF', 16, -10);
 -1