数学函数和运算符¶
数学运算符¶
运算符 |
描述 |
---|---|
|
加法 |
|
减法 |
|
乘法 |
|
除法(整数除法执行截断) |
|
取模(余数) |
数学函数¶
- abs(x) -> [与输入相同]()¶
返回
x
的绝对值。
- cbrt(x) -> double()¶
返回
x
的立方根。
- ceil(x) -> [与输入相同]()¶
这是
ceiling()
的别名。
- ceiling(x) -> [与输入相同]()¶
返回向上舍入到最接近的整数的
x
。
- cosine_similarity(x, y) -> double()¶
返回稀疏向量
x
和y
之间的余弦相似度。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()¶
返回解释为
radix
进制数的string
的值。
- ln(x) -> double()¶
返回
x
的自然对数。
- log2(x) -> double()¶
返回
x
的以 2 为底的对数。
- log10(x) -> double()¶
返回
x
的以 10 为底的对数。
- mod(n, m) -> [same as input]()¶
返回
n
除以m
的模(余数)。
- pi() -> double()¶
返回圆周率常数 Pi。
- pow(x, p) -> double()¶
这是
power()
的别名。
- power(x, p) -> double()¶
返回
x
的p
次方。
- radians(x) -> double()¶
将度数为
x
的角度转换为弧度。
- rand() -> double()¶
这是
random()
的别名。
- random() -> double()¶
返回介于 0.0 <= x < 1.0 之间的伪随机值。
- random(n) -> [same as input]()¶
返回介于 0 和 n(不含 n)之间的伪随机数。
- secure_rand() -> double()¶
这是
secure_random()
的别名。
- secure_random() -> double()¶
返回介于 0.0 <= x < 1.0 之间的密码学安全的随机值。
- secure_random(lower, upper) -> [same as input]()¶
返回介于 lower <= x < upper 之间的密码学安全的随机值,其中 lower < upper。
- round(x) -> [same as input]()¶
返回四舍五入到最接近整数的
x
。
- round(x, d) -> [same as input]()¶
返回四舍五入到
d
小数位的x
。
- sign(x) -> [same as input]()¶
返回
x
的符号函数,即如果参数为 0,则为 0,
如果参数大于 0,则为 1,
如果参数小于 0,则为 -1。
对于双精度参数,该函数还返回
如果参数为 NaN,则为 NaN,
如果参数为 +Infinity,则为 1,
如果参数为 -Infinity,则为 -1。
- sqrt(x) -> double()¶
返回
x
的平方根。
- to_base(x, radix) -> varchar()¶
返回
x
的radix
进制表示。
- truncate(x) -> double()¶
返回通过删除小数点后的数字来四舍五入到整数的
x
。
- truncate(x, n) -> double()¶
返回截断到
n
小数位的x
。n
可以为负数,以截断小数点左侧的n
位数字。示例:
truncate(REAL '12.333', -1)
-> 结果为 10.0truncate(REAL '12.333', 0)
-> 结果为 12.0truncate(REAL '12.333', 1)
-> 结果为 12.3
- width_bucket(x, bound1, bound2, n) -> bigint()¶
返回
x
在具有指定bound1
和bound2
边界以及n
个桶的等宽直方图中的桶号。
- width_bucket(x, bins) -> bigint()¶
根据数组
bins
指定的桶返回x
的桶号。bins
参数必须是双精度数数组,并假定为按升序排序。
概率函数:cdf¶
- beta_cdf(a, b, value) -> double()¶
计算给定 a、b 参数的 Beta cdf:P(N < value; a, b)。a、b 参数必须为正实数,value 必须为实数(均为 DOUBLE 类型)。value 必须位于 [0, 1] 区间内。
- binomial_cdf(numberOfTrials, successProbability, value) -> double()¶
计算给定 numberOfTrials 和 successProbability(对于单个试验)的二项式 cdf:P(N < value)。successProbability 必须为 [0, 1] 中的实数值,numberOfTrials 和 value 必须为正整数,其中 numberOfTrials 大于或等于 value。
- cauchy_cdf(median, scale, value) -> double()¶
计算给定参数 median 和 scale(gamma)的柯西 cdf:P(N; median, scale)。scale 参数必须为正双精度数。value 参数必须为 [0, 1] 区间内的双精度数。
- chi_squared_cdf(df, value) -> double()¶
计算给定 df(自由度)参数的卡方 cdf:P(N < value; df)。df 参数必须为正实数,value 必须为非负实数(均为 DOUBLE 类型)。
- f_cdf(df1, df2, value) -> double()¶
计算给定 df1(分子自由度)和 df2(分母自由度)参数的 F cdf:P(N < value; df1, df2)。分子和分母 df 参数必须为正实数。value 必须为非负实数。
- gamma_cdf(shape, scale, value) -> double()¶
计算给定形状和比例参数的伽马累积分布函数:P(N < value; shape, scale)。形状和比例参数必须为正实数。value 必须为非负实数。
- laplace_cdf(mean, scale, value) -> double()¶
计算给定均值和比例参数的拉普拉斯累积分布函数:P(N < value; mean, scale)。均值和 value 必须为实数,比例参数必须为正值(所有类型均为 DOUBLE)。
- normal_cdf(mean, sd, value) -> double()¶
计算给定均值和标准差 (sd) 的正态累积分布函数:P(N < value; mean, sd)。均值和 value 必须为实数,标准差必须为正实数(所有类型均为 DOUBLE)。
- poisson_cdf(lambda, value) -> double()¶
计算给定 lambda(均值)参数的泊松累积分布函数:P(N <= value; lambda)。lambda 参数必须为正实数(类型为 DOUBLE),value 必须为非负整数。
- weibull_cdf(a, b, value) -> double()¶
计算给定参数 a、b 的威布尔累积分布函数:P(N <= value)。
a
和b
参数必须为正双精度数,value
也必须为双精度数。
概率函数:inverse_cdf¶
- inverse_beta_cdf(a, b, p) -> double()¶
计算给定 a、b 参数的贝塔累积分布函数的逆函数,用于累积概率(p):P(N < n)。a、b 参数必须为正实数(所有类型均为 DOUBLE)。概率 p 必须位于区间 [0, 1] 内。
- inverse_binomial_cdf(numberOfTrials, successProbability, p) -> int()¶
计算给定 numberOfTrials 和 successProbability(单次试验的成功概率)的二项式累积分布函数的逆函数,用于累积概率(p):P(N <= n)。successProbability 和 p 必须为 [0, 1] 内的实数,numberOfTrials 必须为正整数。
- inverse_cauchy_cdf(median, scale, p) -> double()¶
计算给定参数中位数和比例(gamma)的柯西累积分布函数的逆函数,用于概率 p。比例参数必须为正双精度数。概率 p 必须为 [0, 1] 区间内的双精度数。
- inverse_chi_squared_cdf(df, p) -> double()¶
计算给定 df(自由度)参数的卡方累积分布函数的逆函数,用于累积概率(p):P(N < n)。df 参数必须为正实数。概率 p 必须位于区间 [0, 1] 内。
- inverse_gamma_cdf(shape, scale, p) -> double()¶
计算给定形状和比例参数的伽马累积分布函数的逆函数,用于累积概率(p):P(N < n)。形状和比例参数必须为正实数。概率 p 必须位于区间 [0, 1] 内。
- inverse_f_cdf(df1, df2, p) -> double()¶
计算给定 df1(分子自由度)和 df2(分母自由度)参数的 F 累积分布函数的逆函数,用于累积概率(p):P(N < n)。分子和分母 df 参数必须为正实数。概率 p 必须位于区间 [0, 1] 内。
- inverse_laplace_cdf(mean, scale, p) -> double()¶
计算给定均值和比例参数的拉普拉斯累积分布函数的逆函数,用于累积概率(p):P(N < n)。均值必须为实数,比例必须为正实数(类型均为 DOUBLE)。概率 p 必须位于区间 [0, 1] 内。
- inverse_normal_cdf(mean, sd, p) -> double()¶
计算给定均值和标准差 (sd) 的正态累积分布函数的逆函数,用于累积概率(p):P(N < n)。均值必须为实数,标准差必须为正实数(类型均为 DOUBLE)。概率 p 必须位于区间 (0, 1) 内。
- inverse_poisson_cdf(lambda, p) -> integer()¶
计算给定 lambda(均值)参数的泊松累积分布函数的逆函数,用于累积概率(p)。它返回 n 的值,使得:P(N <= n; lambda) = p。lambda 参数必须为正实数(类型为 DOUBLE)。概率 p 必须位于区间 [0, 1) 内。
- inverse_weibull_cdf(a, b, p) -> double()¶
计算给定参数
a
、b
的威布尔累积分布函数的逆函数,用于概率p
。a
、b
参数必须为正双精度数。概率p
必须为 [0, 1] 区间内的双精度数。
统计函数¶
- wilson_interval_lower(successes, trials, z) -> double()¶
返回伯努利试验过程在由 z 分数
z
指定的置信度下的威尔逊分数区间的下限。
- wilson_interval_upper(successes, trials, z) -> double()¶
返回伯努利试验过程在由 z 分数
z
指定的置信度下的威尔逊分数区间的上限。
三角函数¶
所有三角函数参数均以弧度表示。请参阅单位转换函数 degrees()
和 radians()
。
- 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()¶
返回表示非数值的常量。