跳转到主内容
跳转到主内容

数学函数

acos

自 v1.1 版本引入

返回参数的反余弦值。

语法

acos(x)

参数

返回值

返回 x 的反双曲余弦值,类型为 Float*

示例

使用示例

SELECT acos(0.5);
1.0471975511965979

acosh

自 v20.12 版本引入

返回反双曲余弦函数的值。

语法

acosh(x)

参数

返回值

返回以弧度表示的角度。取值范围:0 ≤ acosh(x) < +∞Float64

示例

使用示例

SELECT acosh(1)
0

asin

在 v1.1 中引入

计算给定参数的反正弦值。 对于范围在 [-1, 1] 内的参数,返回值范围为 [-pi() / 2, pi() / 2]

语法

asin(x)

参数

返回值

返回给定参数 x 的反双曲正弦值 Float64

示例

逆函数

SELECT asin(1.0) = pi() / 2, sin(asin(1)), asin(sin(1))
1 1 1

float32

SELECT toTypeName(asin(1.0::Float32))
Float64

nan

SELECT asin(1.1), asin(-2), asin(inf), asin(nan)
nan nan nan nan

asinh

自 v20.12 起可用

返回反双曲正弦值。

语法

asinh(x)

参数

返回值

返回以弧度表示的角度值。取值范围:-∞ < asinh(x) < +∞Float64

示例

基本用法

SELECT asinh(0)
0

atan

自 v1.1 引入

返回参数的反正切值。

语法

atan(x)

参数

返回值

返回 x 的反正切值。Float*

示例

使用示例

SELECT atan(1);
0.7853981633974483

atan2

引入版本:v20.12

返回欧几里得平面中,从正 x 轴到指向点 (x, y) ≠ (0, 0) 的射线之间的角度,结果以弧度表示。

语法

atan2(y, x)

参数

返回值

返回弧度制角度 θ,满足 -π < θ ≤ π,类型为 Float64

示例

使用示例

SELECT atan2(1, 1)
0.7853981633974483

atanh

引入版本:v20.12

返回反双曲正切函数的值。

语法

atanh(x)

参数

  • x — 角度的双曲正切值。取值范围:-1 < x < 1。(U)Int*Float*Decimal* 类型。(U)Int*Float*Decimal*

返回值

返回以弧度表示的角度。取值范围:-∞ < atanh(x) < +∞,类型为 Float64

示例

用法示例

SELECT atanh(0)
0

cbrt

自 v1.1 起引入

返回参数的立方根。

语法

cbrt(x)

参数

返回值

返回 x 的立方根。Float*

示例

用法示例

SELECT cbrt(8);
2

cos

自 v1.1 版本引入

返回参数的余弦值。

语法

cos(x)

参数

返回值

返回 x 的双曲余弦值。Float*

示例

用法示例

SELECT cos(0);
1

cosh

自 v20.12 引入

返回参数的双曲余弦值。

语法

cosh(x)

参数

返回值

返回的值位于区间:1 ≤ cosh(x) < +∞ Float64

示例

基本用法

SELECT cosh(0)
1

degrees

自 v22.2 引入

将弧度转换为角度(度数)。

语法

degrees(x)

参数

返回值

返回 x 对应的角度值(以度为单位)。Float64

示例

基本用法

SELECT degrees(3.141592653589793)
180

e

引入版本:v1.1

返回欧拉常数(e)。

语法

e()

参数

  • 无。

返回值

Float64 类型返回欧拉常数

示例

用法示例

SELECT e();
2.718281828459045

erf

引入于:v1.1

如果 x 是非负数,则 erf(x/(σ√2)) 表示一个标准差为 σ 的正态分布随机变量,其取值与期望值之差的绝对值大于 x 的概率。

语法

erf(x)

参数

返回值

返回误差函数值,类型为 Float*

示例

三西格玛法则

SELECT erf(3 / sqrt(2))
┌─erf(divide(3, sqrt(2)))─┐
│      0.9973002039367398 │
└─────────────────────────┘

erfc

引入版本:v1.1

返回与 1-erf(x) 接近的数值,并且在 x 较大时不会损失精度。

语法

erfc(x)

参数

返回值

返回互补误差函数的值 Float*

示例

用法示例

SELECT erfc(0);
1

exp

自 v1.1 引入

返回 e 的 x 次幂,其中 x 是传递给该函数的参数。

语法

exp(x)

参数

返回值

返回 e^x,类型为 Float*

示例

基本用法

SELECT round(exp(-1), 4)
┌─round(exp(-1), 4)─┐
│            0.3679 │
└───────────────────┘

exp10

引入版本:v1.1

返回 10 的给定参数次幂。

语法

exp10(x)

参数

返回值

返回 10^x,类型为 Float*

示例

用法示例

SELECT exp10(2);
100

exp2

引入于:v1.1

返回 2 的给定参数次方。

语法

exp2(x)

参数

返回值

返回 2^x,类型为 Float*

示例

用法示例

SELECT exp2(3);
8

factorial

引入版本:v22.11

计算整数的阶乘。 0 的阶乘为 1。同样地,factorial() 函数对于任何负数参数都返回 1。 输入参数的最大正值为 20,当参数值为 21 或更大时会抛出异常。

语法

factorial(n)

参数

返回值

返回输入值的阶乘,类型为 UInt64。对于输入为 0 或任意负值时,返回 1。UInt64

示例

用法示例

factorial(10)
3628800

hypot

引入于:v20.12

返回直角三角形斜边的长度。 hypot 可以避免在对非常大或非常小的数值进行平方运算时出现的问题。

语法

hypot(x, y)

参数

返回值

返回直角三角形的斜边长度。Float64

示例

基本用法

SELECT hypot(1, 1)
1.4142135623730951

intExp10

引入于:v1.1

类似于 exp10,但返回 UInt64 类型的数值。

语法

intExp10(x)

参数

返回值

返回 10^x 的值。UInt64

示例

使用示例

SELECT intExp10(2);
100

intExp2

自 v1.1 版本引入

exp2 类似,但返回一个 UInt64 数值。

语法

intExp2(x)

参数

返回值

返回 2^x 的结果。UInt64

示例

用法示例

SELECT intExp2(3);
8

lgamma

自 v1.1 起提供

返回伽马函数的对数。

语法

lgamma(x)

参数

返回值

返回 x 的伽马函数的对数值。Float*

示例

用法示例

SELECT lgamma(5);
3.1780538303479458

log

自 v1.1 版本起引入

返回参数的自然对数。

语法

log(x)

别名: ln

参数

返回值

返回 x 的自然对数。Float*

示例

使用示例

SELECT log(10);
2.302585092994046

log10

引入版本:v1.1

返回参数的以 10 为底的对数。

语法

log10(x)

参数

返回值

返回 x 的十进制对数。Float*

示例

用法示例

SELECT log10(100);
2

log1p

自 v20.12 版本引入

计算 log(1+x) 的值。 对于较小的 x 值,log1p(x) 的计算比 log(1+x) 更精确。

语法

log1p(x)

参数

返回值

返回值的范围:-∞ < log1p(x) < +∞ Float64

示例

用法示例

SELECT log1p(0)
0

log2

首次引入于:v1.1

返回参数的以 2 为底的对数。

语法

log2(x)

参数

返回值

返回 x 的二进制对数。Float*

示例

使用示例

SELECT log2(8);
3

pi

引入于:v1.1

返回圆周率 π。

语法

pi()

参数

  • 无。

返回值

返回常数 π,类型为 Float64

示例

用法示例

SELECT pi();
3.141592653589793

pow

引入版本:v1.1

返回 x 的 y 次幂。

语法

pow(x, y)

别名: power

参数

返回值

返回 x^y,类型为 Float64

示例

用法示例

SELECT pow(2, 3);
8

proportionsZTest

引入版本:v22.3

返回双样本比例 Z 检验的检验统计量——一种用于比较两个总体 x 和 y 的比例的统计检验方法。 该函数同时支持用于标准误估计的合并(pooled)和非合并(unpooled)两种方法。 在合并版本中,会对两个比例取平均,并仅使用这一合并比例来估计标准误。 在非合并版本中,会分别使用两个比例来估计标准误。

语法

proportionsZTest(successes_x, successes_y, trials_x, trials_y, conf_level, pool_type)

参数

  • successes_x — 总体 x 中的成功次数。UInt64
  • successes_y — 总体 y 中的成功次数。UInt64
  • trials_x — 总体 x 中的试验次数。UInt64
  • trials_y — 总体 y 中的试验次数。UInt64
  • conf_level — 检验的置信水平。Float64
  • pool_type — 用于标准误差估计的合并方式选择。可以是 'unpooled' 或 'pooled'。String

返回值

返回一个包含以下内容的 tuple:z_stat(Z 统计量)、p_val(P 值)、ci_low(置信区间下限)、ci_high(置信区间上限)。Tuple(Float64, Float64, Float64, Float64)

示例

用法示例

SELECT proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled');
┌─proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled')───────────────────────────────┐
│ (-0.20656724435948853,0.8363478437079654,-0.09345975390115283,0.07563797172293502) │
└────────────────────────────────────────────────────────────────────────────────────┘

radians

自 v22.2 起引入

将角度转换为弧度。

语法

radians(x)

参数

返回值

返回以弧度为单位的值 Float64

示例

使用示例

SELECT radians(180)
3.141592653589793

sigmoid

引入于:v20.1

计算 sigmoid 函数:1 / (1 + exp(-x))。sigmoid 函数将任意实数映射到区间 (0, 1),并广泛用于机器学习中。

语法

sigmoid(x)

参数

返回值

返回输入值的 sigmoid 函数值,范围为 (0, 1)。Float64

示例

基本用法

SELECT sigmoid(0)
0.5

sign

自 v21.2 起引入

返回实数的符号值。

语法

sign(x)

参数

返回值

x < 0 时返回 -1,当 x = 0 时返回 0,当 x > 0 时返回 1。返回类型为 Int8

示例

零的符号

SELECT sign(0)
0

为正时的符号

SELECT sign(1)
1

负号

SELECT sign(-1)
-1

sin

在 v1.1 中引入

返回参数的正弦值。

语法

sin(x)

参数

返回值

返回 x 的正弦值。

示例

简单示例

SELECT sin(1.23)
0.9424888019316975

sinh

自 v20.12 起引入。

返回双曲正弦值。

语法

sinh(x)

参数

返回值

返回值的取值范围:-∞ < sinh(x) < +∞ Float64

示例

用法示例

SELECT sinh(0)
0

sqrt

自 v1.1 引入

返回参数的平方根。

语法

sqrt(x)

参数

返回值

返回 x 的平方根 Float*

示例

用法示例

SELECT sqrt(16);
4

tan

自 v1.1 版本引入

返回参数的正切值。

语法

tan(x)

参数

返回值

返回 x 的双曲正切值。Float*

示例

用法示例

SELECT tan(0);
0

tanh

自 v20.1 引入

返回双曲正切值。

语法

tanh(x)

参数

  • x — 以弧度为单位的角度,取值范围:-∞ < x < +∞。类型为 (U)Int*Float*Decimal*

返回值

返回值范围:-1 < tanh(x) < 1,类型为 Float*

示例

使用示例

SELECT tanh(0)
0

tgamma

自 v1.1 版本引入

返回 Gamma 函数。

语法

tgamma(x)

参数

返回值

返回伽马函数的值 Float*

示例

用法示例

SELECT tgamma(5);
24

widthBucket

引入版本:v23.3

在直方图中返回参数 operand 所落入的桶编号。该直方图包含 count 个等宽桶,覆盖范围为 lowhigh。如果 operand 小于 low,则返回 0;如果 operand 大于等于 high,则返回 count+1。 另有一个不区分大小写的别名 WIDTH_BUCKET,用于与其他数据库兼容。

语法

widthBucket(operand, low, high, count)

别名: width_bucket

参数

返回值

返回桶编号,类型为整数。若 operand < low,返回 0;若 operand >= high,返回 count+1。UInt8/16/32/64

示例

用法示例

widthBucket(10.15, -8.6, 23, 18)
11