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 |