Skip to main content
Version: 1.1.1

Mathematical Functions

    abs(x) -> [same as x]

返回“x”的绝对值。
    cbrt(x) -> double

返回“x”的立方根。
    ceil(x) -> [same as x]

这是 :func:`ceiling` 的别名。
    ceiling(x) -> [same as x]

返回“x”向上舍入到最接近的整数。
    clamp(x, low, high) -> [same as x]

如果“x”小于“low”,则返回“low”。如果“x”大于“high”,则返回“high”。
否则返回“x”。

“low”预计小于或等于“high”。出于性能原因,此预期未经验证。当“low”大于“high”时,对所有“x”值返回“high”。
    cosine_similarity(map(varchar, double), map(varchar, double)) -> double

返回以 map(varchar, double) 表示的向量之间的[余弦相似度](https://en.wikipedia.org/wiki/Cosine_similarity)。
如果任何输入映射为空,则该函数返回 NaN。
        SELECT cosine_similarity(MAP(ARRAY['a'], ARRAY[1.0]), MAP(ARRAY['a'], ARRAY[2.0])); -- 1.0

SELECT cosine_similarity(MAP(ARRAY['a', 'b'], ARRAY[1.0, 2.0]), MAP(ARRAY['a', 'b'], ARRAY[NULL, 3.0])); -- NULL

SELECT cosine_similarity(MAP(ARRAY[], ARRAY[]), MAP(ARRAY['a', 'b'], ARRAY[2, 3])); -- NaN
    degrees(x) -> double

Converts angle x in radians to degrees.
    divide(x, y) -> [same as x]

返回 x 除以 y 的结果。x 和 y 的类型必须相同。
除以零的结果取决于输入类型。对于整数类型,
除以零会导致错误。对于浮点类型,
如果 x 大于零,则除以零返回正无穷大;如果 x 小于零,则除以零返回负无穷大;如果 x 等于零,则除以零返回 NaN。
    e() -> double

Returns the value of Euler's Constant.
    exp(x) -> double

返回欧拉数的“x”次方。
    floor(x) -> [same as x]

返回向下舍入到最接近的整数的“x”。
    from_base(string, radix) -> bigint

返回以“radix”为基数的“string”值。“radix”必须介于 236 之间。
    ln(x) -> double

返回“x”的自然对数。
    log2(x) -> double

返回“x”的以 2 为底的对数。
    log10(x) -> double

返回“x”的以 10 为底的对数。
    minus(x, y) -> [same as x]

返回 x 减 y 的结果。x 和 y 的类型必须相同。
对于整数类型,溢出会导致错误。
    mod(n, m) -> [same as n]

返回“n”除以“m”的模数(余数)。
    multiply(x, y) -> [same as x]

返回 x 乘以 y 的结果。x 和 y 的类型必须相同。
对于整数类型,溢出会导致错误。
    negate(x) -> [same as x]

返回 x 的加法逆元,例如,与 x 相加得出零的数。
    pi() -> double

返回 Pi 的值。
    plus(x, y) -> [same as x]

返回 x 与 y 相加的结果。x 和 y 的类型必须相同。
对于整数类型,溢出会导致错误。
    pow(x, p) -> double

This is an alias for :func:`power`.
    power(x, p) -> double

Returns ``x`` raised to the power of ``p``.
    radians(x) -> double

将角度 x 以度为单位转换为弧度。
    rand() -> double

这是 :func:`random()` 的别名。
    random() -> double

返回范围为“0.0 <= x < 1.0”内的伪随机值。
    random(n) -> [same as n]

返回范围为“0.0 <= x < n”内的伪随机值。
    round(x) -> [same as x]

返回四舍五入到最接近的整数“x”。
    round(x, d) -> [same as x]

返回四舍五入到小数点后 d 位的“x”。
    secure_rand() -> double

这是:func:`secure_random()` 的别名。
    secure_random() -> double

返回范围为“0.0 <= x < 1.0”的加密安全随机值。
    secure_random(lower, upper) -> [same as input]

返回范围为“lower <= x < upper”内的加密安全随机值,其中“lower < upper”。
    sign(x) -> [same as x]

返回“x”的正负号函数。对于整数和浮点数参数,返回:
* 如果参数为 0,则返回 0
* 如果参数大于 0,则返回 1
* 如果参数小于 0,则返回 -1

对于双精度参数,该函数还会返回:
* 如果参数为 NaN,则返回 NaN;
* 如果参数为正无穷大,则返回 1
* 如果参数为负无穷大,则返回 -1
    sqrt(x) -> double

返回 ``x`` 的平方根。如果 ``x`` 为负数,则返回 ``NaN``。
    to_base(x, radix) -> varchar

返回“x”的基数“radix”表示。“radix”必须介于 236 之间。
    truncate(x) -> [same as x]

返回舍去小数点后数字,并将 x 四舍五入为整数的值。
支持的“x”类型为:REAL 和 DOUBLE。
    truncate(x, n) -> [same as x]

返回截断至小数点后 n 位的 x。n 可以为负数,表示截断小数点后 n 位。
支持的“x”类型为:REAL 和 DOUBLE。
“n”为 INTEGER 类型。
    width_bucket(x, bound1, bound2, n) -> bigint

返回具有指定“bound1”和“bound2”边界以及“n”个桶的等宽直方图中“x”的桶号。
    width_bucket(x, bins) -> bigint

根据数组“bins”指定的bin,返回“x”从零开始的bin编号。“bins”参数必须是双精度数组,不应包含“null”或非有限元素,并且假定按升序排列。

例如,如果“bins”为“ARRAY[0, 2, 4]”,则有四个bin:
(-infinity(), 0)”、“[0, 2)”、“[2, 4)”和“[4, infinity())”。

注意:如果函数在“bins”中遇到“null”或非有限元素,则会返回错误。但由于二分查找算法,某些此类元素可能会被忽略,因此函数将返回结果。

Trigonometric Functions

    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”的双曲正切。

Floating Point Functions

    infinity() -> double

返回表示正无穷大的常数。
    is_finite(x) -> boolean

确定 x 是否有限。
    is_infinite(x) -> boolean

确定 x 是否无限。
    is_nan(x) -> boolean

确定 x 是否不是数字。
    nan() -> double

返回表示非数字的常数。

Probability Functions: cdf

    beta_cdf(a, b, value) -> double

计算给定 a、b 个参数的 `Beta cdf <https://en.wikipedia.org/wiki/Beta_distribution>`_:P(N < value; a, b)。
参数 a、b 必须是正实数,value 必须是实数(均为 DOUBLE 类型)。
value 必须位于区间 [0, 1] 内。
    binomial_cdf(numberOfTrials, successProbability, value) -> double

计算给定试验次数和成功概率(单次试验)的二项式累积分布函数:P(N <)
成功概率必须是 [0, 1] 之间的实数值,试验次数和值必须是
试验次数大于或等于值的正整数
    cauchy_cdf(median, scale, value) -> double

计算给定参数中位数和尺度 (gamma) 的柯西累积分布函数 (cdf)P(N; 中位数, 尺度)
尺度参数必须是正双精度数。值参数必须是区间 [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 <; df1, df2)
分子和分母 df 参数必须是正实数。值必须是非负实数。
    gamma_cdf(shape, scale, value) -> double

计算给定形状和尺度参数的 Gamma 累积分布函数:P(N <; 形状, 尺度)
形状和尺度参数必须是正实数。值必须是非负实数。
    inverse_normal_cdf(mean, sd, p) -> double

计算给定平均值和标准差 (sd) 的累积概率 (p) 的正态累积分布函数 (cdf) 的倒数:P(N < n)。平均值必须是实数,
标准差必须是实数且为正值(均为 DOUBLE 类型)。概率 p 必须位于区间 (0, 1) 内。
    laplace_cdf(mean, scale, value) -> double

计算给定均值和尺度参数的拉普拉斯累积分布函数 (cdf)P(N < 数值; 均值, 尺度)
均值和数值必须是实数,尺度参数必须是正值(均为 DOUBLE 类型)。
    normal_cdf(mean, sd, value) -> double

计算给定平均值和标准差 (sd) 的正态累积分布函数 (CDF)P(`N < 值`; 平均值, sd)
平均值和值必须是实数,标准差必须是实数且为正值(均为 DOUBLE 类型)。
    poisson_cdf(lambda, value) -> double

使用给定的 lambda(平均值)参数计算泊松分布的累积分布函数:P(`N <= value`; lambda)
lambda 参数必须是正实数(DOUBLE 类型),并且值必须是非负整数。
    weibull_cdf(a, b, value) -> double

计算给定参数 a、b 的威布尔分布的累积分布函数:`P(N <= value)`。``a`` 和 ``b`` 参数必
须是正双精度数,``value`` 也必须是双精度数。

Probability Functions: inverse_cdf

    inverse_beta_cdf(a, b, p) -> double

计算给定 a、b 参数的 Beta 累积分布函数的逆,得到累积概率 (p)P(N < n)。a、b 参数必须为正
实数(均为 DOUBLE 类型)。概率 p 必须位于区间 [0, 1] 内。
    inverse_weibull_cdf(a, b, p) -> double

计算给定参数“a”和“b”的威布尔分布的累积分布函数的逆,得到概率“p”。
参数“a”和“b”必须是正双精度值。概率“p”必须是区间[0, 1]上的双精度值。
    inverse_cauchy_cdf(median, scale, p) -> double

计算给定参数“median”和“scale”(gamma)的柯西累积分布函数的逆,得到概率 p。
scale 参数必须是正二阶双精度数。概率“p”必须是区间 [0, 1] 上的二阶双精度数。
    inverse_laplace_cdf(mean, scale, p) -> double

计算给定“均值”和“尺度”参数的拉普拉斯累积分布函数 (p) 的逆:P(N < n)
均值必须是实数,尺度必须是正实数(均为 DOUBLE 类型)。
概率“p”必须位于区间 [0, 1] 内。

Statistical Functions

    wilson_interval_lower(successes, trials, z) -> double

返回伯努利试验过程的威尔逊得分区间的下限,置信度由 z 得分 z 指定。
    wilson_interval_upper(successes, trials, z) -> double

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