数学函数和运算符

数学运算符

运算符说明
+
-
*
/除(整数除法会进行截断)
%取模(余数)

数学函数

abs(x) -> [与输入相同]

返回x的绝对值。

cbrt(x) -> double

返回x的立方根。

ceil(x) -> [与输入相同]

这是ceiling的别名。

ceiling(x) -> [与输入相同]

返回x向上舍入到最接近的整数后的值。

cosine_similarity(x, y) -> double

返回稀疏向量xy之间的余弦相似度:

  1. SELECT cosine_similarity(MAP(ARRAY['a'], ARRAY[1.0]), MAP(ARRAY['a'], ARRAY[2.0])); -- 1.0

degrees(x) -> double

将角x的弧度转换为角度。

e() -> double

返回常量欧拉数。

exp(x) -> double

返回欧拉数的x次幂。

floor(x) -> [与输入相同]

返回x向下舍入到最接近的整数后的值。

from_base(string, radix) -> bigint

返回string解释为以radix为基数的数字后的值。

inverse_normal_cdf(mean, sd, p) -> double

使用累积概率(p)的给定平均值和标准差(sd)计算正态分布CDF的反函数:P(N < n)。平均值必须是实数值,标准差必须是正实数值。概率p必须处于区间(0,1)内。

normal_cdf(mean, sd, v) -> double

使用给定的平均值和标准差(sd)计算正态分布CDF:P(N < v; mean, sd)。平均值和值v必须是实数值,标准差必须是正实数值。

inverse_beta_cdf(a, b, p) -> double

使用累积概率(p)的给定参数a和b计算Beta CDF的反函数:P(N < n)。a和b参数必须为正实数值。概率p必须处于区间[0,1]内。

beta_cdf(a, b, v) -> double

使用给定的参数a和b计算Beta CDF:P(N < v; a, b)。参数a和b必须为正实数,值v必须为实数。值v必须处于区间[0,1]内。

ln(x) -> double

返回x的自然对数。

log(b, x) -> double

返回以b为底x的对数。

log2(x) -> double

返回以2为底x的对数。

log10(x) -> double

返回以10为底x的对数。

mod(n, m) -> [与输入相同]

返回n除以m的模(余数)。

pi() -> double

返回常量Pi。

pow(x, p) -> double

这是power的别名。

power(x, p) -> double

返回xp次幂。

radians(x) -> double

将角x的角度转换为弧度。

rand() -> double

这是random()的别名。

random() -> double

返回一个处于范围0.0 <= x < 1.0内的伪随机值。

random(n) -> [与输入相同]

返回一个介于0和n之间(不含0和n)的伪随机数。

round(x) -> [与输入相同]

返回x舍入到最接近的整数后的值。

round(x, d) -> [与输入相同]

返回x舍入到小数点后d位后的值。

sign(x) -> [与输入相同]

返回x的符号函数,即:

  • 0(参数为0)
  • 1(参数大于0)
  • -1(参数小于0)

对于double参数,该函数还返回:

  • NaN(参数为NaN)
  • 1(参数为正无穷大)
  • -1(参数为负无穷大)

sqrt(x) -> double

返回x的平方根。

to_base(x, radix) -> varchar

返回以radix为基数的x表示形式。

truncate(x) -> double

返回通过删除小数点后的数字将x舍入为整数后的值。

width_bucket(x, bound1, bound2, n) -> bigint

返回具有指定边界bound1bound2以及n个桶的等宽直方图中x的直条数量。

width_bucket(x, bins) -> bigint

根据数组bins指定的直条返回x的直条数量。bins参数必须是double类型的数组,并且假定按升序排序。

统计函数

wilson_interval_lower(successes, trials, z) -> double

返回z分数z指定的置信度下伯努利试验过程威尔逊置信区间的下限。

wilson_interval_upper(successes, trials, z) -> double

返回z分数z指定的置信度下伯努利试验过程威尔逊置信区间的上限。

三角函数

所有三角函数参数都以弧度表示。请参见单位转换函数degreesradians

acos(x) -> double

返回x的反余弦值。

asin(x) -> double

返回x的反正弦值。

atan(x) -> double

返回x的反正切值。

atan2(y, x) -> double

返回y / x的反正切值。

cos(x) -> double

返回x的余弦值。

cosh(x) -> double

返回x的双曲余弦值。

sin(x) -> double

返回x的正弦值。

tan(x) -> double

返回x的正切值。

tanh(x) -> double

返回x的双曲正切值。

浮点函数

infinity() -> double

返回表示正无穷大的常数。

is_finite(x) -> boolean

确定x是否为有限值。

is_infinite(x) -> boolean

确定x是否为无穷大。

is_nan(x) -> boolean

确定x是否为非数字值。

nan() -> double

返回表示非数字值的常量。