> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 数学函数文档

# 数学函数

{/*AUTOGENERATED_START*/}

<div id="acos">
  ## acos
</div>

引入版本：v1.1.0

返回参数的反余弦。

**语法**

```sql theme={null}
acos(x)
```

**参数**

* `x` — 要计算其反余弦的值。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 `x` 的反余弦。[`Float*`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT acos(0.5);
```

```response title=Response theme={null}
1.0471975511965979
```

<div id="acosh">
  ## acosh
</div>

Introduced in: v20.12.0

返回反双曲余弦值。

**语法**

```sql theme={null}
acosh(x)
```

**参数**

* `x` — 角的双曲余弦值。取值范围：`1 ≤ x < +∞`。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回该角的弧度值。取值范围：`0 ≤ acosh(x) < +∞`。[`Float64`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT acosh(1)
```

```response title=Response theme={null}
0
```

<div id="asin">
  ## asin
</div>

引入版本：v1.1.0

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

**语法**

```sql theme={null}
asin(x)
```

**参数**

* `x` — 用于计算反正弦值的参数。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal`](/zh/reference/data-types/decimal)

**返回值**

返回参数 `x` 的反正弦值 [`Float64`](/zh/reference/data-types/float)

**示例**

**反函数**

```sql title=Query theme={null}
SELECT asin(1.0) = pi() / 2, sin(asin(1)), asin(sin(1))
```

```response title=Response theme={null}
1 1 1
```

**float32**

```sql title=Query theme={null}
SELECT toTypeName(asin(1.0::Float32))
```

```response title=Response theme={null}
Float64
```

**nan**

```sql title=Query theme={null}
SELECT asin(1.1), asin(-2), asin(inf), asin(nan)
```

```response title=Response theme={null}
nan nan nan nan
```

<div id="asinh">
  ## asinh
</div>

在 v20.12.0 中引入

返回反双曲正弦值。

**语法**

```sql theme={null}
asinh(x)
```

**参数**

* `x` — 角度的双曲正弦值。取值范围：`-∞ < x < +∞`。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回对应的角度 (以弧度表示) 。取值范围：`-∞ < asinh(x) < +∞`。[`Float64`](/zh/reference/data-types/float)

**示例**

**基本用法**

```sql title=Query theme={null}
SELECT asinh(0)
```

```response title=Response theme={null}
0
```

<div id="atan">
  ## atan
</div>

引入版本：v1.1.0

返回参数的反正切。

**语法**

```sql theme={null}
atan(x)
```

**参数**

* `x` — 要计算反正切的值。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 `x` 的反正切值。[`Float*`](/zh/reference/data-types/float)

**示例**

**用法示例**

```sql title=Query theme={null}
SELECT atan(1);
```

```response title=Response theme={null}
0.7853981633974483
```

<div id="atan2">
  ## atan2
</div>

引入版本：v20.12.0

返回 atan2 值，即欧几里得平面中，从正 x 轴到指向点 `(x, y) ≠ (0, 0)` 的射线之间的夹角，单位为弧度。

**语法**

```sql theme={null}
atan2(y, x)
```

**参数**

* `y` — 射线所经过点的 y 坐标。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)
* `x` — 射线所经过点的 x 坐标。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回满足 `-π < θ ≤ π` 的角 `θ`，单位为弧度。[`Float64`](/zh/reference/data-types/float)

**示例**

**用法示例**

```sql title=Query theme={null}
SELECT atan2(1, 1)
```

```response title=Response theme={null}
0.7853981633974483
```

<div id="atanh">
  ## atanh
</div>

引入于：v20.12.0

返回反双曲正切。

**语法**

```sql theme={null}
atanh(x)
```

**参数**

* `x` — 角度的双曲正切值。取值范围：-1 \< x \< 1。`(U)Int*`、`Float*` 或 `Decimal*`。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回以弧度表示的角度。取值范围：-∞ \< atanh(x) \< +∞ [`Float64`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT atanh(0)
```

```response title=Response theme={null}
0
```

<div id="cbrt">
  ## cbrt
</div>

首次引入版本：v1.1.0

返回参数的立方根。

**语法**

```sql theme={null}
cbrt(x)
```

**参数**

* `x` — 要求其立方根的值。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 `x` 的立方根。[`Float*`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT cbrt(8);
```

```response title=Response theme={null}
2
```

<div id="cos">
  ## cos
</div>

引入版本：v1.1.0

返回该参数的余弦值。

**语法**

```sql theme={null}
cos(x)
```

**参数**

* `x` — 角度 (以弧度为单位) 。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 `x` 的余弦值。[`Float*`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT cos(0);
```

```response title=Response theme={null}
1
```

<div id="cosh">
  ## cosh
</div>

引入版本：v20.12.0

返回参数的双曲余弦。

**语法**

```sql theme={null}
cosh(x)
```

**参数**

* `x` — 以弧度表示的角度。取值范围：`-∞ < x < +∞`。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回值范围：`1 ≤ cosh(x) < +∞` [`Float64`](/zh/reference/data-types/float)

**示例**

**基本用法**

```sql title=Query theme={null}
SELECT cosh(0)
```

```response title=Response theme={null}
1
```

<div id="degrees">
  ## degrees
</div>

在 v22.2.0 中引入

将弧度转换为度数。

**语法**

```sql theme={null}
degrees(x)
```

**参数**

* `x` — 以弧度表示的输入。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 `x` 的度数值。[`Float64`](/zh/reference/data-types/float)

**示例**

**基本用法**

```sql title=Query theme={null}
SELECT degrees(3.141592653589793)
```

```response title=Response theme={null}
180
```

<div id="e">
  ## e
</div>

引入版本：v1.1.0

返回欧拉常数 (e) 。

**语法**

```sql theme={null}
e()
```

**参数**

* 无。

**返回值**

返回欧拉常数 [`Float64`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT e();
```

```response title=Response theme={null}
2.718281828459045
```

<div id="erf">
  ## erf
</div>

引入版本：v1.1.0

如果 `x` 是非负数，那么 `erf(x/(σ√2))` 表示：对于一个服从正态分布、标准差为 `σ` 的随机变量，其取值与期望值相差大于 `x` 的概率。

**语法**

```sql theme={null}
erf(x)
```

**参数**

* `x` — 要计算其误差函数值的值。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回误差函数值 [`Float*`](/zh/reference/data-types/float)

**示例**

**3σ 规则**

```sql title=Query theme={null}
SELECT erf(3 / sqrt(2))
```

```response title=Response theme={null}
┌─erf(divide(3, sqrt(2)))─┐
│      0.9973002039367398 │
└─────────────────────────┘
```

<div id="erfc">
  ## erfc
</div>

自 v1.1.0 起引入

返回接近 `1-erf(x)` 的数值，即使 `x` 很大也不会损失精度。

**语法**

```sql theme={null}
erfc(x)
```

**参数**

* `x` — 要计算其误差函数值的值。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回余误差函数的值 [`Float*`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT erfc(0);
```

```response title=Response theme={null}
1
```

<div id="exp">
  ## exp
</div>

引入于：v1.1.0

返回 e 的 `x` 次幂，其中 `x` 为传递给该函数的参数。

**语法**

```sql theme={null}
exp(x)
```

**参数**

* `x` — 指数。([`(U)Int*`](/zh/reference/data-types/int-uint)、[`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal))

**返回值**

返回 `e^x`。([`Float*`](/zh/reference/data-types/float))

**示例**

**基本用法**

```sql title=Query theme={null}
SELECT round(exp(-1), 4)
```

```response title=Response theme={null}
┌─round(exp(-1), 4)─┐
│            0.3679 │
└───────────────────┘
```

<div id="exp10">
  ## exp10
</div>

Introduced in：v1.1.0

返回给定参数的 10 的幂。

**Syntax**

```sql theme={null}
exp10(x)
```

**参数**

* `x` — 指数。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 10^x，类型为 [`Float*`](/zh/reference/data-types/float)

**示例**

**用法示例**

```sql title=Query theme={null}
SELECT exp10(2);
```

```response title=Response theme={null}
100
```

<div id="exp2">
  ## exp2
</div>

Introduced in：v1.1.0

返回给定参数的 2 的幂。

**Syntax**

```sql theme={null}
exp2(x)
```

**参数**

* `x` — 指数，类型为 [`(U)Int*`](/zh/reference/data-types/int-uint)、[`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 2^x，类型为 [`Float*`](/zh/reference/data-types/float)

**示例**

**用法示例**

```sql title=Query theme={null}
SELECT exp2(3);
```

```response title=Response theme={null}
8
```

<div id="factorial">
  ## factorial
</div>

引入版本：v22.11.0

计算整数值的阶乘。
`0` 的阶乘是 `1`。同样，`factorial()` 函数对任何负值也都会返回 `1`。
输入参数的最大正值为 `20`，值为 `21` 或更大时将引发异常。

**语法**

```sql theme={null}
factorial(n)
```

**参数**

* `n` — 要计算其阶乘的整数值。最大值为 20。[`(U)Int8/16/32/64`](/zh/reference/data-types/int-uint)

**返回值**

以 UInt64 返回输入值的阶乘。对于输入值 0 或任意负值，返回 1。[`UInt64`](/zh/reference/data-types/int-uint)

**示例**

**使用示例**

```sql title=Query theme={null}
factorial(10)
```

```response title=Response theme={null}
3628800
```

<div id="hypot">
  ## hypot
</div>

引入版本：v20.12.0

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

**语法**

```sql theme={null}
hypot(x, y)
```

**参数**

* `x` — 直角三角形的第一条直角边。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)
* `y` — 直角三角形的第二条直角边。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回直角三角形斜边的长度。[`Float64`](/zh/reference/data-types/float)

**示例**

**基本用法**

```sql title=Query theme={null}
SELECT hypot(1, 1)
```

```response title=Response theme={null}
1.4142135623730951
```

<div id="intExp10">
  ## intExp10
</div>

在 v1.1.0 中引入

与 [exp10](#exp10) 类似，但返回 `UInt64` 数值。

**语法**

```sql theme={null}
intExp10(x)
```

**参数**

* `x` — 指数值。[`Int*`](/zh/reference/data-types/int-uint) 或 [`UInt*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float)

**返回值**

返回 `10^x`。[`UInt64`](/zh/reference/data-types/int-uint)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT intExp10(2);
```

```response title=Response theme={null}
100
```

<div id="intExp2">
  ## intExp2
</div>

引入版本：v1.1.0

与 [exp2](#exp2) 类似，但返回 `UInt64` 数值。

**语法**

```sql theme={null}
intExp2(x)
```

**参数**

* `x` — 指数。[`Int*`](/zh/reference/data-types/int-uint) 或 [`UInt*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float)

**返回值**

返回 2^x。[`UInt64`](/zh/reference/data-types/int-uint)

**示例**

**用法示例**

```sql title=Query theme={null}
SELECT intExp2(3);
```

```response title=Response theme={null}
8
```

<div id="isPrime">
  ## isPrime
</div>

引入版本：v26.5.0

如果参数是质数，则返回 `1`，否则返回 `0`。

对于较小的值，使用精确查找 bitmap；对于较大的值，使用确定性的 [Miller-Rabin 测试](https://en.wikipedia.org/wiki/Miller-Rabin_primality_test)。
对于所有受支持的输入类型，结果都完全准确。

对于更宽的无符号整数类型 (`UInt128`、`UInt256`) ，请改用 [`isProbablePrime`](/zh/reference/functions/regular-functions/math-functions#isProbablePrime)。

**语法**

```sql theme={null}
isPrime(n)
```

**参数**

* `n` — 用于测试是否为质数的无符号整数。[`UInt8`](/zh/reference/data-types/int-uint) 或 [`UInt16`](/zh/reference/data-types/int-uint) 或 [`UInt32`](/zh/reference/data-types/int-uint) 或 [`UInt64`](/zh/reference/data-types/int-uint)

**返回值**

如果 `n` 是质数，则返回 `1`；否则返回 `0`。[`UInt8`](/zh/reference/data-types/int-uint)

**示例**

**质数**

```sql title=Query theme={null}
SELECT isPrime(17)
```

```response title=Response theme={null}
1
```

**合数**

```sql title=Query theme={null}
SELECT isPrime(18)
```

```response title=Response theme={null}
0
```

**较大的 `UInt64` 质数**

```sql title=Query theme={null}
SELECT isPrime(18446744073709551557)
```

```response title=Response theme={null}
1
```

**最大 `UInt64` 值**

```sql title=Query theme={null}
SELECT isPrime(18446744073709551615)
```

```response title=Response theme={null}
0
```

<div id="isProbablePrime">
  ## isProbablePrime
</div>

引入版本：v26.5.0

如果参数很可能是质数，则返回 `1`；如果它确定是合数，则返回 `0`。

对于 `UInt8`、`UInt16`、`UInt32` 和 `UInt64`，结果是精确的，并且与
[`isPrime`](/zh/reference/functions/regular-functions/math-functions#isPrime) 一致。`rounds` 参数会被忽略。

对于 `UInt128` 和 `UInt256`，返回值为 `1` 时仅表示概率意义上的结果。可选的 `rounds` 参数控制
执行多少轮 [Miller-Rabin](https://en.wikipedia.org/wiki/Miller-Rabin_primality_test) 测试：
轮数越多，误报的概率越低，但运行时间也会增加。在见证值均匀随机的情况下，
对于固定的合数，误报率的上界为 `4^(-rounds)`；默认值 `25`
可将该上界控制在 `10^-15` 以下，最大值 `256` 则可将其控制在 `10^-154` 以下。

该函数是确定性的：见证值以 `n` 为种子生成，因此相同的 `(n, rounds)` 组合始终会产生
相同的结果。`4^(-rounds)` 这个上界表示在见证值均匀随机时针对单个输入的概率；
而在我们的确定性种子机制下，它描述的则是输入集合上的一个比例——如果某个合数能够骗过其
见证序列，它就会稳定地返回 `1`。

**语法**

```sql theme={null}
isProbablePrime(n[, rounds])
```

**参数**

* `n` — 用于测试是否为质数的无符号整数。[`UInt8`](/zh/reference/data-types/int-uint) 或 [`UInt16`](/zh/reference/data-types/int-uint) 或 [`UInt32`](/zh/reference/data-types/int-uint) 或 [`UInt64`](/zh/reference/data-types/int-uint) 或 [`UInt128`](/zh/reference/data-types/int-uint) 或 [`UInt256`](/zh/reference/data-types/int-uint)
* `rounds` — 可选的正整数常量，取值范围为 `[1, 256]`。表示 `UInt128`/`UInt256` 的 Miller-Rabin 测试轮数 (对更小的类型将被忽略) 。默认值为 `25`。[`UInt8`](/zh/reference/data-types/int-uint) 或 [`UInt16`](/zh/reference/data-types/int-uint) 或 [`UInt32`](/zh/reference/data-types/int-uint) 或 [`UInt64`](/zh/reference/data-types/int-uint)

**返回值**

如果 `n` 很可能是质数，则返回 `1`；如果 `n` 确定为合数，则返回 `0`。[`UInt8`](/zh/reference/data-types/int-uint)

**示例**

**小质数**

```sql title=Query theme={null}
SELECT isProbablePrime(17)
```

```response title=Response theme={null}
1
```

**小合数**

```sql title=Query theme={null}
SELECT isProbablePrime(18)
```

```response title=Response theme={null}
0
```

**最大的 `UInt64` 质数 (精确结果) **

```sql title=Query theme={null}
SELECT isProbablePrime(18446744073709551557)
```

```response title=Response theme={null}
1
```

**梅森质数 `M_127` (`UInt128`)**

```sql title=Query theme={null}
SELECT isProbablePrime(toUInt128('170141183460469231731687303715884105727'))
```

```response title=Response theme={null}
1
```

**Curve25519 基域质数 `2^255 - 19` (`UInt256`)**

```sql title=Query theme={null}
SELECT isProbablePrime(toUInt256('57896044618658097711785492504343953926634992332820282019728792003956564819949'))
```

```response title=Response theme={null}
1
```

**速度更快、置信度较低的检查：5 轮**

```sql title=Query theme={null}
SELECT isProbablePrime(toUInt256('57896044618658097711785492504343953926634992332820282019728792003956564819949'), 5)
```

```response title=Response theme={null}
1
```

<div id="lgamma">
  ## lgamma
</div>

引入版本：v1.1.0

返回伽马函数的对数。

**语法**

```sql theme={null}
lgamma(x)
```

**参数**

* `x` — 要计算其伽马函数对数的数值。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 `x` 的伽马函数对数。[`Float*`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT lgamma(5);
```

```response title=Response theme={null}
3.1780538303479458
```

<div id="log">
  ## log
</div>

在 v1.1.0 中引入

返回参数的自然对数。

**语法**

```sql theme={null}
log(x)
```

**别名**: `ln`

**参数**

* `x` — 用于计算自然对数的数值。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 `x` 的自然对数。[`Float*`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT log(10);
```

```response title=Response theme={null}
2.302585092994046
```

<div id="log10">
  ## log10
</div>

引入版本：v1.1.0

返回参数的十进制对数。

**语法**

```sql theme={null}
log10(x)
```

**参数**

* `x` — 要计算其常用对数的数值。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 `x` 的常用对数。[`Float*`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT log10(100);
```

```response title=Response theme={null}
2
```

<div id="log1p">
  ## log1p
</div>

引入版本：v20.12.0

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

**语法**

```sql theme={null}
log1p(x)
```

**参数**

* `x` — 取值区间为：`-1 < x < +∞`。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回值的范围为：-∞ \< log1p(x) \< +∞ [`Float64`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT log1p(0)
```

```response title=Response theme={null}
0
```

<div id="log2">
  ## log2
</div>

引入版本：v1.1.0

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

**语法**

```sql theme={null}
log2(x)
```

**参数**

* `x` — 要计算以 2 为底对数的数值。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 `x` 的以 2 为底对数。[`Float*`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT log2(8);
```

```response title=Response theme={null}
3
```

<div id="pi">
  ## pi
</div>

在 v1.1.0 中引入

返回 pi (π)。

**语法**

```sql theme={null}
pi()
```

**参数**

* 无。

**返回值**

返回 pi [`Float64`](/zh/reference/data-types/float)

**示例**

**用法示例**

```sql title=Query theme={null}
SELECT pi();
```

```response title=Response theme={null}
3.141592653589793
```

<div id="pow">
  ## pow
</div>

首次引入版本：v1.1.0

返回 x 的 y 次方。

**语法**

```sql theme={null}
pow(x, y)
```

**别名**: `power`

**参数**

* `x` — 底数。[`(U)Int8/16/32/64`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)
* `y` — 指数。[`(U)Int8/16/32/64`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 `x^y`，类型为 [`Float64`](/zh/reference/data-types/float)

**示例**

**用法示例**

```sql title=Query theme={null}
SELECT pow(2, 3);
```

```response title=Response theme={null}
8
```

<div id="proportionsZTest">
  ## proportionsZTest
</div>

引入版本：v22.3.0

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

**语法**

```sql theme={null}
proportionsZTest(successes_x, successes_y, trials_x, trials_y, conf_level, pool_type)
```

**参数**

* `successes_x` — 总体 x 中成功的次数。[`UInt64`](/zh/reference/data-types/int-uint)
* `successes_y` — 总体 y 中成功的次数。[`UInt64`](/zh/reference/data-types/int-uint)
* `trials_x` — 总体 x 中试验次数。[`UInt64`](/zh/reference/data-types/int-uint)
* `trials_y` — 总体 y 中试验次数。[`UInt64`](/zh/reference/data-types/int-uint)
* `conf_level` — 检验的置信水平。[`Float64`](/zh/reference/data-types/float)
* `pool_type` — 用于估计标准误的池化方法。可以是 'unpooled' 或 'pooled'。[`String`](/zh/reference/data-types/string)

**返回值**

返回一个包含以下内容的元组：`z_stat` (Z 统计量) 、`p_val` (P 值) 、`ci_low` (置信区间下限) 、`ci_high` (置信区间上限) 。[`Tuple(Float64, Float64, Float64, Float64)`](/zh/reference/data-types/tuple)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled');
```

```response title=Response theme={null}
┌─proportionsZTest(10, 11, 100, 101, 0.95, 'unpooled')───────────────────────────────┐
│ (-0.20656724435948853,0.8363478437079654,-0.09345975390115283,0.07563797172293502) │
└────────────────────────────────────────────────────────────────────────────────────┘
```

<div id="radians">
  ## radians
</div>

首次引入版本：v22.2.0

将角度转换为弧度。

**语法**

```sql theme={null}
radians(x)
```

**参数**

* `x` — 输入值，单位为度。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回以弧度表示的值 [`Float64`](/zh/reference/data-types/float)

**示例**

**用法示例**

```sql title=Query theme={null}
SELECT radians(180)
```

```response title=Response theme={null}
3.141592653589793
```

<div id="sigmoid">
  ## sigmoid
</div>

引入版本：v20.1.0

计算 sigmoid 函数：`1 / (1 + exp(-x))`。sigmoid 函数将任意实数映射到 (0, 1) 区间，常用于机器学习。

**语法**

```sql theme={null}
sigmoid(x)
```

**参数**

* `x` — 输入值。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float)

**返回值**

返回输入值的 sigmoid 值，取值范围为 (0, 1)。[`Float64`](/zh/reference/data-types/float)

**示例**

**基本用法**

```sql title=Query theme={null}
SELECT sigmoid(0)
```

```response title=Response theme={null}
0.5
```

<div id="sign">
  ## sign
</div>

引入版本：v21.2.0

返回实数的符号。

**语法**

```sql theme={null}
sign(x)
```

**参数**

* `x` — 取值范围为 -∞ 到 +∞。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Decimal*`](/zh/reference/data-types/decimal) 或 [`Float*`](/zh/reference/data-types/float)

**返回值**

当 `x < 0` 时返回 `-1`，当 `x = 0` 时返回 `0`，当 `x > 0` 时返回 `1`。[`Int8`](/zh/reference/data-types/int-uint)

**示例**

**零的符号**

```sql title=Query theme={null}
SELECT sign(0)
```

```response title=Response theme={null}
0
```

**正号**

```sql title=Query theme={null}
SELECT sign(1)
```

```response title=Response theme={null}
1
```

**负号**

```sql title=Query theme={null}
SELECT sign(-1)
```

```response title=Response theme={null}
-1
```

<div id="sin">
  ## sin
</div>

Introduced in: v1.1.0

返回参数的正弦值。

**Syntax**

```sql theme={null}
sin(x)
```

**参数**

* `x` — 要返回其正弦值的数字。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 x 的正弦值。

**示例**

**simple**

```sql title=Query theme={null}
SELECT sin(1.23)
```

```response title=Response theme={null}
0.9424888019316975
```

<div id="sinh">
  ## sinh
</div>

首次引入版本：v20.12.0

返回双曲正弦。

**语法**

```sql theme={null}
sinh(x)
```

**参数**

* `x` — 角度值 (以弧度为单位) 。取值区间：-∞ \< x \< +∞。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回值的取值区间为：-∞ \< sinh(x) \< +∞。[`Float64`](/zh/reference/data-types/float)

**示例**

**用法示例**

```sql title=Query theme={null}
SELECT sinh(0)
```

```response title=Response theme={null}
0
```

<div id="sqrt">
  ## sqrt
</div>

引入版本：v1.1.0

返回参数的平方根。

**语法**

```sql theme={null}
sqrt(x)
```

**参数**

* `x` — 要计算平方根的数。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 x 的平方根。[`Float*`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT sqrt(16);
```

```response title=Response theme={null}
4
```

<div id="tan">
  ## tan
</div>

Introduced in: v1.1.0

返回参数的正切值。

**Syntax**

```sql theme={null}
tan(x)
```

**参数**

* `x` — 以弧度表示的角度。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回 `x` 的正切值。[`Float*`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT tan(0);
```

```response title=Response theme={null}
0
```

<div id="tanh">
  ## tanh
</div>

引入于：v20.1.0

返回双曲正切。

**语法**

```sql theme={null}
tanh(x)
```

**参数**

* `x` — 以弧度表示的角度。取值区间：-∞ \< x \< +∞。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回值的取值区间为：-1 \< tanh(x) \< 1 [`Float*`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT tanh(0)
```

```response title=Response theme={null}
0
```

<div id="tgamma">
  ## tgamma
</div>

版本引入：v1.1.0

返回伽马函数。

**语法**

```sql theme={null}
tgamma(x)
```

**参数**

* `x` — 要计算其伽马函数值的数值。[`(U)Int*`](/zh/reference/data-types/int-uint) 或 [`Float*`](/zh/reference/data-types/float) 或 [`Decimal*`](/zh/reference/data-types/decimal)

**返回值**

返回伽马函数值 [`Float*`](/zh/reference/data-types/float)

**示例**

**使用示例**

```sql title=Query theme={null}
SELECT tgamma(5);
```

```response title=Response theme={null}
24
```

<div id="widthBucket">
  ## widthBucket
</div>

引入版本：v23.3.0

返回直方图中 `operand` 参数所在的桶编号。该直方图包含 `count` 个等宽桶，覆盖从 `low` 到 `high` 的范围。如果 `operand` 小于 `low`，则返回 0；如果 `operand` 大于或等于 `high`，则返回 `count`+1。
此外，还提供了一个名为 `WIDTH_BUCKET` 的不区分大小写别名，以兼容其他数据库。

**语法**

```sql theme={null}
widthBucket(operand, low, high, count)
```

**别名**: `width_bucket`

**参数**

* `operand` — 要确定其所在桶的值。[`(U)Int8/16/32/64`](/zh/reference/data-types/int-uint)
* `low` — 直方图范围的下界。[`(U)Int8/16/32/64`](/zh/reference/data-types/int-uint)
* `high` — 直方图范围的上界。[`(U)Int8/16/32/64`](/zh/reference/data-types/int-uint)
* `count` — 等宽桶的数量。不能为零。[`UInt8/16/32/64`](/zh/reference/data-types/int-uint)

**返回值**

返回整数形式的桶编号。如果 operand \< low，则返回 0；如果 operand >= high，则返回 count+1。[`UInt8/16/32/64`](/zh/reference/data-types/int-uint)

**示例**

**使用示例**

```sql title=Query theme={null}
widthBucket(10.15, -8.6, 23, 18)
```

```response title=Response theme={null}
11
```
