全部产品
Search
文档中心

实时数仓Hologres:数学函数

更新时间:Apr 26, 2023

Hologres兼容PostgreSQL,支持使用标准的PostgreSQL语法进行开发。本文为您介绍Hologres已支持的数学函数列表及使用用例。

Hologres已支持的数学函数列表如下。当前Hologres版本支持的函数是PostgreSQL的一个子集,函数的使用方法请参见数学函数

函数名

描述

用例

结果

abs(bigint)

返回BIGINT类型表达式的绝对值。

abs(-17)

17

abs(int)

返回INT类型表达式的绝对值。

abs(-17)

17

abs(float8)

返回FLOAT8类型表达式的绝对值。

abs(-17.4)

17.4

abs(float4)

返回FLOAT4类型表达式的绝对值。

abs(-17.4)

17.4

abs(numeric)

返回NUMERIC类型表达式的绝对值。

abs(-17.4)

17.4

cbrt(dp)

返回DP类型表达式的立方根。

cbrt(27.0)

3.0000000000000004

ceil(dp )

对DP类型的表达式向上取整。

ceil(-42.8)

-42.0

ceil(numeric)

对NUMERIC类型的表达式向上取整。

ceil(-42.8)

-42.0

ceiling(dp )

对DP类型的表达式向上取整。

ceil(-42.8)

-42.0

ceiling(numeric)

对NUMERIC类型的表达式向上取整。

ceil(-42.8)

-42.0

degrees(dp)

将DP类型表达式的弧度转换为角度。

degrees(0.5)

28.64788975654116

exp(dp)

返回DP类型表达式的指数。

exp(1.0)

2.718281828459045

exp(numeric)

返回NUMERIC类型表达式的指数。

exp(1.0)

2.718281828459045

floor(dp )

对DP类型表达式向下取整。

floor(-42.8)

-43.0

floor(numeric)

对NUMERIC类型表达式向下取整。

floor(-42.8)

-43.0

ln(dp)

返回DP类型表达式的自然对数。

ln(2.0)

0.6931471805599453

ln(numeric)

返回NUMERIC类型表达式的自然对数。

ln(2.0)

0.6931471805599453

log(dp)

返回DP类型表达式的常用对数。

log(100.0)

2.0

log(numeric)

返回NUMERIC类型表达式的常用对数。

log(100.0)

2.0

log(b numeric, x numeric)

返回NUMERIC类型表达式的对数。

log(2.0, 64.0)

6.0

mod(bigint, x)

求BIGINT类型表达式除以x的余数。

mod(9,4)

1

mod(int, x)

求INT类型表达式除以x的余数。

mod(9,4)

1

pi()

返回π常量。

pi()

3.141592653589793

power(a dp, b dp)

求a的b次幂,a和b使用DP类型的表达式。

power(9.0, 3.0)

729.0

power(a numeric, b numeric)

求a的b次幂,a和b使用NUMERIC类型的表达式。

power(9.0, 3.0)

729.0

radians(dp)

将DP类型表达式的角度转换为弧度。

radians(45.0)

0.7853981633974483

random()

获取一个随机数,返回值范围为[0.0,1.0)。

random()

0.3977345246821642

round(dp )

返回DP类型表达式四舍五入后的整数值。

round(42.4)

42.0

round(numeric)

返回NUMERIC类型表达式四舍五入后的整数值。

round(42.4)

42.0

round(v numeric, s int)

保留s位小数,计算的类型必须是numeric类型。

round((100/400::numeric),4);

0.2500

sign(dp )

返回DP类型表达式的符号。参数值大于0返回1,小于0返回 -1 ,等于0返回0

sign(-8.4)

-1

sign(numeric)

返回NUMERIC类型表达式的符号。参数值大于0返回1,小于0返回 -1 ,等于0返回0

sign(-8.4)

-1

sqrt(dp)

返回DP类型表达式的平方根。

sqrt(2.0)

1.414213562373095

sqrt(numeric)

返回NUMERIC类型表达式的平方根。

sqrt(2.0)

1.414213562373095

trunc(dp)

去掉DP类型表达式的小数位。

trunc(42.8)

42.0

trunc(numeric)

去掉NUMERIC类型表达式的小数位。

trunc(42.8)

42.0

trunc(v numeric, s int)

截断NUMERIC类型表达式的小数位置到s位。

trunc(42.4382, 2)

42.43

width_bucket(operand numeric, b1 numeric, ...)

返回OPERAND在BUCKET中的位置。

width_bucket(5.35, 0.024, 10.06, 5)

3