跳到主要内容
跳到主要内容

数学函数

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)

参数

返回值

返回 x 的自然对数。 Float*

示例

用法示例

SELECT log(10);
2.302585092994046

log10

引入于:v1.1

返回参数的十进制对数。

语法

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

返回参数的二进制对数。

语法

log2(x)

参数

返回值

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

示例

用法示例

SELECT log2(8);
3

pi

引入于:v1.1

返回 pi (π)。

语法

pi()

参数

  • 无。 返回值

返回 pi Float64

示例

用法示例

SELECT pi();
3.141592653589793

pow

引入于:v1.1

返回 x 的 y 次方。

语法

pow(x, y)

参数

返回值

返回 x^y Float64

示例

用法示例

SELECT pow(2, 3);
8

radians

引入于:v22.2

将度转换为弧度。

语法

radians(x)

参数

返回值

返回以弧度表示的值 Float64

示例

用法示例

SELECT radians(180)
3.141592653589793

sign

引入于:v21.2

返回实数的符号。

语法

sign(x)

参数

返回值

对于 x < 0 返回 -1,对于 x = 0 返回 0,对于 x > 0 返回 1Int8

示例

零的符号

SELECT sign(0)
0

正数的符号

SELECT sign(1)
1

负数的符号

SELECT sign(-1)
-1

sin

引入于:v

返回参数的正弦值。

语法

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)

参数

返回值

返回值在区间:-1 < tanh(x) < 1 Float*

示例

用法示例

SELECT tanh(0)
0

tgamma

引入于:v1.1

返回伽马函数。

语法

tgamma(x)

参数

返回值

返回伽马函数值 Float*

示例

用法示例

SELECT tgamma(5);
24

widthBucket

引入于:v23.3

返回参数 operand 在一个有着相等宽度桶的直方图中落入的桶的编号,该直方图的范围从 lowhigh 的数量。如果 operand 小于 low,则返回 0;如果 operand 大于或等于 high,则返回 count + 1。 还有一个不区分大小写的别名 WIDTH_BUCKET 以提供与其他数据库的兼容性。

语法

widthBucket(operand, low, high, count)

参数

返回值

作为整数返回桶的编号。如果 operand < low,返回 0;如果 operand >= high,返回 count + 1。 UInt8/16/32/64

示例

用法示例

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