数据湖探索 DLI-数学运算函数:算术运算符

时间:2023-11-01 16:24:58

算术运算符

算术运算符包括双目运算符与单目运算符,这些运算符都将返回数字类型。Flink SQL所支持的算术运算符如表3所示。

表3 算术运算符

运算符

返回类型

描述

+ numeric

所有数字类型

返回数字。

- numeric

所有数字类型

返回负数。

A + B

所有数字类型

A和B相加。结果数据类型与操作数据类型相关,例如一个整数类型数据加上一个浮点类型数据,结果数值为浮点类型数据。

A - B

所有数字类型

A和B相减。结果数据类型与操作数据类型相关。

A * B

所有数字类型

A和B相乘。结果数据类型与操作数据类型相关。

A / B

所有数字类型

A和B相除。结果是一个double(双精度)类型的数值。

POWER(A, B)

所有数字类型

返回A数的B次方乘幂。

ABS(numeric)

所有数字类型

返回数值的绝对值。

MOD(A, B)

所有数字类型

返回A除以B的余数(模数)。 返回值只有在A为负数时才为负数。

SQRT(A)

所有数字类型

返回A的平方根。

LN(A)

所有数字类型

返回A的自然对数(基数e)。

LOG10(A)

所有数字类型

返回A的基数10对数。

LOG2(A)

所有数字类型

返回A的基数2对数。

LOG(B)

LOG(A, B)

所有数字类型

当只有一个参数,返回B的自然对数(基数e)。

当有两个参数,返回B以A为基数的对数。

B必须大于0,且A必须大于1。

EXP(A)

所有数字类型

返回e的a次方。

CEIL(A)

CEILING(A)

所有数字类型

将参数向上舍入为最接近的整数。例如ceil(21.2),返回22。

FLOOR(A)

所有数字类型

对给定数据进行向下舍入最接近的整数。例如floor(21.2),返回21。

SIN(A)

所有数字类型

计算给定A的正弦值。

COS(A)

所有数字类型

计算给定A的余弦值。

TAN(A)

所有数字类型

计算给定A的正切值。

COT(A)

所有数字类型

计算给定A的余切值。

ASIN(A)

所有数字类型

计算给定A的反正弦值。

ACOS(A)

所有数字类型

计算给定A的反余弦值。

ATAN(A)

所有数字类型

计算给定A的反正切值。

ATAN2(A, B)

所有数字类型

计算给定坐标(A, B)的反正切值。

COSH(A)

所有数字类型

计算给定A的双曲余弦值。返回类型为DOUBLE。

DEGREES(A)

所有数字类型

返回弧度所对应的角度。

RADIANS(A)

所有数字类型

返回角度所对应的弧度。

SIGN(A)

所有数字类型

返回a所对应的正负号,a为正返回1,a为负,返回-1,否则返回0。

ROUND(A, d)

所有数字类型

返回小数部分,d位之后数字的四舍五入,d为int型。例如round(21.263,2),返回21.26。

PI

所有数字类型

返回pi的值。

E()

所有数字类型

返回e的值。

RAND()

所有数字类型

返回一个0.0和1.0之间的随机double类型的数(包含0.0,不包含1.0)。

RAND(A)

所有数字类型

根据初始化种子A,返回一个0.0和1.0之间的随机double类型的数(包含0.0,不包含1.0)。若初始化种子相同,则返回的随机数相同。

RAND_INTEGER(A)

所有数字类型

返回一个0和A之间的随机整数(包含0,不包含A)。

RAND_INTEGER(A, B)

所有数字类型

根据初始化种子A,返回一个0和B之间的随机整数值(包含0,不包含B)

UUID()

所有数字类型

返回一个UUID字符串。

BIN(A)

所有数字类型

返回一个整数A的二进制字符串。如为null则返回null。

HEX(A)

HEX(B)

所有数字类型

返回一个整数A或者字符串B的十六进制字符串。若A或B为null,则返回null。

TRUNCATE(A, d)

所有数字类型

返回保留小数点后d为小数的数字。若A或d为null,则返回null。

例如:truncate(42.345, 2) = 42.340

truncate(42.345) = 42.000

PI()

所有数字类型

返回pi的值

注意事项

字符串类型不能参与算术运算。

support.huaweicloud.com/sqlreference-dli/dli_08_0427.html