conv
기능
적용 대상: Databricks SQL Databricks Runtime
num
을 fromBase
에서 toBase
로 변환합니다.
구문
conv(num, fromBase, toBase)
인수
num
: 에서STRING
숫자를 나타내는 식입니다fromBase
.fromBase
INTEGER
: 원본 베이스를 나타내는 식입니다.toBase
INTEGER
: 대상 베이스를 나타내는 식입니다.
반품
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.enabled가 false
인 경우 오버플로로 인해 오류가 발생하지 않고 결과를 대신 “래핑”합니다.
예제
> 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